(function webpackUniversalModuleDefinition(root, factory){
if(typeof exports==='object'&&typeof module==='object')
module.exports=factory(require("moment"), require("jquery"));
else if(typeof define==='function'&&define.amd)
define(["moment", "jquery"], factory);
else if(typeof exports==='object')
exports["FullCalendar"]=factory(require("moment"), require("jquery"));
else
root["FullCalendar"]=factory(root["moment"], root["jQuery"]);
})(typeof self!=='undefined' ? self:this, function(__WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_3__){
return (function(modules){
var installedModules={};
function __webpack_require__(moduleId){
if(installedModules[moduleId]){
return installedModules[moduleId].exports;
}
var module=installedModules[moduleId]={
i: moduleId,
l: false,
exports: {}
};
modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
module.l=true;
return module.exports;
}
__webpack_require__.m=modules;
__webpack_require__.c=installedModules;
__webpack_require__.d=function(exports, name, getter){
if(!__webpack_require__.o(exports, name)){
Object.defineProperty(exports, name, {
configurable: false,
enumerable: true,
get: getter
});
}
};
__webpack_require__.n=function(module){
var getter=module&&module.__esModule ?
function getDefault(){ return module['default']; } :
function getModuleExports(){ return module; };
__webpack_require__.d(getter, 'a', getter);
return getter;
};
__webpack_require__.o=function(object, property){ return Object.prototype.hasOwnProperty.call(object, property); };
__webpack_require__.p="";
return __webpack_require__(__webpack_require__.s=236);
})
([
(function(module, exports){
module.exports=__WEBPACK_EXTERNAL_MODULE_0__;
}),
,
(function(module, exports){
var extendStatics=Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array&&function (d, b){ d.__proto__=b; }) ||
function (d, b){ for (var p in b)
if(b.hasOwnProperty(p))
d[p]=b[p]; };
exports.__extends=function (d, b){
extendStatics(d, b);
function __(){ this.constructor=d; }
d.prototype=b===null ? Object.create(b):(__.prototype=b.prototype, new __());
};
}),
(function(module, exports){
module.exports=__WEBPACK_EXTERNAL_MODULE_3__;
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var moment=__webpack_require__(0);
var $=__webpack_require__(3);
function compensateScroll(rowEls, scrollbarWidths){
if(scrollbarWidths.left){
rowEls.css({
'border-left-width': 1,
'margin-left': scrollbarWidths.left - 1
});
}
if(scrollbarWidths.right){
rowEls.css({
'border-right-width': 1,
'margin-right': scrollbarWidths.right - 1
});
}}
exports.compensateScroll=compensateScroll;
function uncompensateScroll(rowEls){
rowEls.css({
'margin-left': '',
'margin-right': '',
'border-left-width': '',
'border-right-width': ''
});
}
exports.uncompensateScroll=uncompensateScroll;
function disableCursor(){
$('body').addClass('fc-not-allowed');
}
exports.disableCursor=disableCursor;
function enableCursor(){
$('body').removeClass('fc-not-allowed');
}
exports.enableCursor=enableCursor;
function distributeHeight(els, availableHeight, shouldRedistribute){
var minOffset1=Math.floor(availableHeight / els.length);
var minOffset2=Math.floor(availableHeight - minOffset1 * (els.length - 1));
var flexEls=[];
var flexOffsets=[];
var flexHeights=[];
var usedHeight=0;
undistributeHeight(els);
els.each(function (i, el){
var minOffset=i===els.length - 1 ? minOffset2:minOffset1;
var naturalOffset=$(el).outerHeight(true);
if(naturalOffset < minOffset){
flexEls.push(el);
flexOffsets.push(naturalOffset);
flexHeights.push($(el).height());
}else{
usedHeight +=naturalOffset;
}});
if(shouldRedistribute){
availableHeight -=usedHeight;
minOffset1=Math.floor(availableHeight / flexEls.length);
minOffset2=Math.floor(availableHeight - minOffset1 * (flexEls.length - 1));
}
$(flexEls).each(function (i, el){
var minOffset=i===flexEls.length - 1 ? minOffset2:minOffset1;
var naturalOffset=flexOffsets[i];
var naturalHeight=flexHeights[i];
var newHeight=minOffset - (naturalOffset - naturalHeight);
if(naturalOffset < minOffset){
$(el).height(newHeight);
}});
}
exports.distributeHeight=distributeHeight;
function undistributeHeight(els){
els.height('');
}
exports.undistributeHeight=undistributeHeight;
function matchCellWidths(els){
var maxInnerWidth=0;
els.find('> *').each(function (i, innerEl){
var innerWidth=$(innerEl).outerWidth();
if(innerWidth > maxInnerWidth){
maxInnerWidth=innerWidth;
}});
maxInnerWidth++;
els.width(maxInnerWidth);
return maxInnerWidth;
}
exports.matchCellWidths=matchCellWidths;
function subtractInnerElHeight(outerEl, innerEl){
var both=outerEl.add(innerEl);
var diff;
both.css({
position: 'relative',
left: -1
});
diff=outerEl.outerHeight() - innerEl.outerHeight();
both.css({ position: '', left: '' });
return diff;
}
exports.subtractInnerElHeight=subtractInnerElHeight;
function getScrollParent(el){
var position=el.css('position');
var scrollParent=el.parents().filter(function (){
var parent=$(this);
return (/(auto|scroll)/).test(parent.css('overflow') + parent.css('overflow-y') + parent.css('overflow-x'));
}).eq(0);
return position==='fixed'||!scrollParent.length ? $(el[0].ownerDocument||document):scrollParent;
}
exports.getScrollParent=getScrollParent;
function getOuterRect(el, origin){
var offset=el.offset();
var left=offset.left - (origin ? origin.left:0);
var top=offset.top - (origin ? origin.top:0);
return {
left: left,
right: left + el.outerWidth(),
top: top,
bottom: top + el.outerHeight()
};}
exports.getOuterRect=getOuterRect;
function getClientRect(el, origin){
var offset=el.offset();
var scrollbarWidths=getScrollbarWidths(el);
var left=offset.left + getCssFloat(el, 'border-left-width') + scrollbarWidths.left - (origin ? origin.left:0);
var top=offset.top + getCssFloat(el, 'border-top-width') + scrollbarWidths.top - (origin ? origin.top:0);
return {
left: left,
right: left + el[0].clientWidth,
top: top,
bottom: top + el[0].clientHeight
};}
exports.getClientRect=getClientRect;
function getContentRect(el, origin){
var offset=el.offset();
var left=offset.left + getCssFloat(el, 'border-left-width') + getCssFloat(el, 'padding-left') -
(origin ? origin.left:0);
var top=offset.top + getCssFloat(el, 'border-top-width') + getCssFloat(el, 'padding-top') -
(origin ? origin.top:0);
return {
left: left,
right: left + el.width(),
top: top,
bottom: top + el.height()
};}
exports.getContentRect=getContentRect;
function getScrollbarWidths(el){
var leftRightWidth=el[0].offsetWidth - el[0].clientWidth;
var bottomWidth=el[0].offsetHeight - el[0].clientHeight;
var widths;
leftRightWidth=sanitizeScrollbarWidth(leftRightWidth);
bottomWidth=sanitizeScrollbarWidth(bottomWidth);
widths={ left: 0, right: 0, top: 0, bottom: bottomWidth };
if(getIsLeftRtlScrollbars()&&el.css('direction')==='rtl'){
widths.left=leftRightWidth;
}else{
widths.right=leftRightWidth;
}
return widths;
}
exports.getScrollbarWidths=getScrollbarWidths;
function sanitizeScrollbarWidth(width){
width=Math.max(0, width);
width=Math.round(width);
return width;
}
var _isLeftRtlScrollbars=null;
function getIsLeftRtlScrollbars(){
if(_isLeftRtlScrollbars===null){
_isLeftRtlScrollbars=computeIsLeftRtlScrollbars();
}
return _isLeftRtlScrollbars;
}
function computeIsLeftRtlScrollbars(){
var el=$('
')
.css({
position: 'absolute',
top: -1000,
left: 0,
border: 0,
padding: 0,
overflow: 'scroll',
direction: 'rtl'
})
.appendTo('body');
var innerEl=el.children();
var res=innerEl.offset().left > el.offset().left;
el.remove();
return res;
}
function getCssFloat(el, prop){
return parseFloat(el.css(prop))||0;
}
function isPrimaryMouseButton(ev){
return ev.which===1&&!ev.ctrlKey;
}
exports.isPrimaryMouseButton=isPrimaryMouseButton;
function getEvX(ev){
var touches=ev.originalEvent.touches;
if(touches&&touches.length){
return touches[0].pageX;
}
return ev.pageX;
}
exports.getEvX=getEvX;
function getEvY(ev){
var touches=ev.originalEvent.touches;
if(touches&&touches.length){
return touches[0].pageY;
}
return ev.pageY;
}
exports.getEvY=getEvY;
function getEvIsTouch(ev){
return /^touch/.test(ev.type);
}
exports.getEvIsTouch=getEvIsTouch;
function preventSelection(el){
el.addClass('fc-unselectable')
.on('selectstart', preventDefault);
}
exports.preventSelection=preventSelection;
function allowSelection(el){
el.removeClass('fc-unselectable')
.off('selectstart', preventDefault);
}
exports.allowSelection=allowSelection;
function preventDefault(ev){
ev.preventDefault();
}
exports.preventDefault=preventDefault;
function intersectRects(rect1, rect2){
var res={
left: Math.max(rect1.left, rect2.left),
right: Math.min(rect1.right, rect2.right),
top: Math.max(rect1.top, rect2.top),
bottom: Math.min(rect1.bottom, rect2.bottom)
};
if(res.left < res.right&&res.top < res.bottom){
return res;
}
return false;
}
exports.intersectRects=intersectRects;
function constrainPoint(point, rect){
return {
left: Math.min(Math.max(point.left, rect.left), rect.right),
top: Math.min(Math.max(point.top, rect.top), rect.bottom)
};}
exports.constrainPoint=constrainPoint;
function getRectCenter(rect){
return {
left: (rect.left + rect.right) / 2,
top: (rect.top + rect.bottom) / 2
};}
exports.getRectCenter=getRectCenter;
function diffPoints(point1, point2){
return {
left: point1.left - point2.left,
top: point1.top - point2.top
};}
exports.diffPoints=diffPoints;
function parseFieldSpecs(input){
var specs=[];
var tokens=[];
var i;
var token;
if(typeof input==='string'){
tokens=input.split(/\s*,\s*/);
}
else if(typeof input==='function'){
tokens=[input];
}
else if($.isArray(input)){
tokens=input;
}
for (i=0; i < tokens.length; i++){
token=tokens[i];
if(typeof token==='string'){
specs.push(token.charAt(0)==='-' ?
{ field: token.substring(1), order: -1 } :
{ field: token, order: 1 });
}
else if(typeof token==='function'){
specs.push({ func: token });
}}
return specs;
}
exports.parseFieldSpecs=parseFieldSpecs;
function compareByFieldSpecs(obj1, obj2, fieldSpecs, obj1fallback, obj2fallback){
var i;
var cmp;
for (i=0; i < fieldSpecs.length; i++){
cmp=compareByFieldSpec(obj1, obj2, fieldSpecs[i], obj1fallback, obj2fallback);
if(cmp){
return cmp;
}}
return 0;
}
exports.compareByFieldSpecs=compareByFieldSpecs;
function compareByFieldSpec(obj1, obj2, fieldSpec, obj1fallback, obj2fallback){
if(fieldSpec.func){
return fieldSpec.func(obj1, obj2);
}
var val1=obj1[fieldSpec.field];
var val2=obj2[fieldSpec.field];
if(val1==null&&obj1fallback){
val1=obj1fallback[fieldSpec.field];
}
if(val2==null&&obj2fallback){
val2=obj2fallback[fieldSpec.field];
}
return flexibleCompare(val1, val2) * (fieldSpec.order||1);
}
exports.compareByFieldSpec=compareByFieldSpec;
function flexibleCompare(a, b){
if(!a&&!b){
return 0;
}
if(b==null){
return -1;
}
if(a==null){
return 1;
}
if($.type(a)==='string'||$.type(b)==='string'){
return String(a).localeCompare(String(b));
}
return a - b;
}
exports.flexibleCompare=flexibleCompare;
exports.dayIDs=['sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat'];
exports.unitsDesc=['year', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond'];
function diffDayTime(a, b){
return moment.duration({
days: a.clone().stripTime().diff(b.clone().stripTime(), 'days'),
ms: a.time() - b.time()
});
}
exports.diffDayTime=diffDayTime;
function diffDay(a, b){
return moment.duration({
days: a.clone().stripTime().diff(b.clone().stripTime(), 'days')
});
}
exports.diffDay=diffDay;
function diffByUnit(a, b, unit){
return moment.duration(Math.round(a.diff(b, unit, true)),
unit);
}
exports.diffByUnit=diffByUnit;
function computeGreatestUnit(start, end){
var i;
var unit;
var val;
for (i=0; i < exports.unitsDesc.length; i++){
unit=exports.unitsDesc[i];
val=computeRangeAs(unit, start, end);
if(val >=1&&isInt(val)){
break;
}}
return unit;
}
exports.computeGreatestUnit=computeGreatestUnit;
function computeDurationGreatestUnit(duration, durationInput){
var unit=computeGreatestUnit(duration);
if(unit==='week'&&typeof durationInput==='object'&&durationInput.days){
unit='day';
}
return unit;
}
exports.computeDurationGreatestUnit=computeDurationGreatestUnit;
function computeRangeAs(unit, start, end){
if(end!=null){
return end.diff(start, unit, true);
}
else if(moment.isDuration(start)){
return start.as(unit);
}else{
return start.end.diff(start.start, unit, true);
}}
function divideRangeByDuration(start, end, dur){
var months;
if(durationHasTime(dur)){
return (end - start) / dur;
}
months=dur.asMonths();
if(Math.abs(months) >=1&&isInt(months)){
return end.diff(start, 'months', true) / months;
}
return end.diff(start, 'days', true) / dur.asDays();
}
exports.divideRangeByDuration=divideRangeByDuration;
function divideDurationByDuration(dur1, dur2){
var months1;
var months2;
if(durationHasTime(dur1)||durationHasTime(dur2)){
return dur1 / dur2;
}
months1=dur1.asMonths();
months2=dur2.asMonths();
if(Math.abs(months1) >=1&&isInt(months1) &&
Math.abs(months2) >=1&&isInt(months2)){
return months1 / months2;
}
return dur1.asDays() / dur2.asDays();
}
exports.divideDurationByDuration=divideDurationByDuration;
function multiplyDuration(dur, n){
var months;
if(durationHasTime(dur)){
return moment.duration(dur * n);
}
months=dur.asMonths();
if(Math.abs(months) >=1&&isInt(months)){
return moment.duration({ months: months * n });
}
return moment.duration({ days: dur.asDays() * n });
}
exports.multiplyDuration=multiplyDuration;
function durationHasTime(dur){
return Boolean(dur.hours()||dur.minutes()||dur.seconds()||dur.milliseconds());
}
exports.durationHasTime=durationHasTime;
function isNativeDate(input){
return Object.prototype.toString.call(input)==='[object Date]'||input instanceof Date;
}
exports.isNativeDate=isNativeDate;
function isTimeString(str){
return typeof str==='string' &&
/^\d+\:\d+(?:\:\d+\.?(?:\d{3})?)?$/.test(str);
}
exports.isTimeString=isTimeString;
function log(){
var args=[];
for (var _i=0; _i < arguments.length; _i++){
args[_i]=arguments[_i];
}
var console=window.console;
if(console&&console.log){
return console.log.apply(console, args);
}}
exports.log=log;
function warn(){
var args=[];
for (var _i=0; _i < arguments.length; _i++){
args[_i]=arguments[_i];
}
var console=window.console;
if(console&&console.warn){
return console.warn.apply(console, args);
}else{
return log.apply(null, args);
}}
exports.warn=warn;
var hasOwnPropMethod={}.hasOwnProperty;
function mergeProps(propObjs, complexProps){
var dest={};
var i;
var name;
var complexObjs;
var j;
var val;
var props;
if(complexProps){
for (i=0; i < complexProps.length; i++){
name=complexProps[i];
complexObjs=[];
for (j=propObjs.length - 1; j >=0; j--){
val=propObjs[j][name];
if(typeof val==='object'){
complexObjs.unshift(val);
}
else if(val!==undefined){
dest[name]=val;
break;
}}
if(complexObjs.length){
dest[name]=mergeProps(complexObjs);
}}
}
for (i=propObjs.length - 1; i >=0; i--){
props=propObjs[i];
for (name in props){
if(!(name in dest)){
dest[name]=props[name];
}}
}
return dest;
}
exports.mergeProps=mergeProps;
function copyOwnProps(src, dest){
for (var name_1 in src){
if(hasOwnProp(src, name_1)){
dest[name_1]=src[name_1];
}}
}
exports.copyOwnProps=copyOwnProps;
function hasOwnProp(obj, name){
return hasOwnPropMethod.call(obj, name);
}
exports.hasOwnProp=hasOwnProp;
function applyAll(functions, thisObj, args){
if($.isFunction(functions)){
functions=[functions];
}
if(functions){
var i=void 0;
var ret=void 0;
for (i=0; i < functions.length; i++){
ret=functions[i].apply(thisObj, args)||ret;
}
return ret;
}}
exports.applyAll=applyAll;
function removeMatching(array, testFunc){
var removeCnt=0;
var i=0;
while (i < array.length){
if(testFunc(array[i])){
array.splice(i, 1);
removeCnt++;
}else{
i++;
}}
return removeCnt;
}
exports.removeMatching=removeMatching;
function removeExact(array, exactVal){
var removeCnt=0;
var i=0;
while (i < array.length){
if(array[i]===exactVal){
array.splice(i, 1);
removeCnt++;
}else{
i++;
}}
return removeCnt;
}
exports.removeExact=removeExact;
function isArraysEqual(a0, a1){
var len=a0.length;
var i;
if(len==null||len!==a1.length){
return false;
}
for (i=0; i < len; i++){
if(a0[i]!==a1[i]){
return false;
}}
return true;
}
exports.isArraysEqual=isArraysEqual;
function firstDefined(){
var args=[];
for (var _i=0; _i < arguments.length; _i++){
args[_i]=arguments[_i];
}
for (var i=0; i < args.length; i++){
if(args[i]!==undefined){
return args[i];
}}
}
exports.firstDefined=firstDefined;
function htmlEscape(s){
return (s + '').replace(/&/g, '&')
.replace(//g, '>')
.replace(/'/g, ''')
.replace(/"/g, '"')
.replace(/\n/g, ' ');
}
exports.htmlEscape=htmlEscape;
function stripHtmlEntities(text){
return text.replace(/&.*?;/g, '');
}
exports.stripHtmlEntities=stripHtmlEntities;
function cssToStr(cssProps){
var statements=[];
$.each(cssProps, function (name, val){
if(val!=null){
statements.push(name + ':' + val);
}});
return statements.join(';');
}
exports.cssToStr=cssToStr;
function attrsToStr(attrs){
var parts=[];
$.each(attrs, function (name, val){
if(val!=null){
parts.push(name + '="' + htmlEscape(val) + '"');
}});
return parts.join(' ');
}
exports.attrsToStr=attrsToStr;
function capitaliseFirstLetter(str){
return str.charAt(0).toUpperCase() + str.slice(1);
}
exports.capitaliseFirstLetter=capitaliseFirstLetter;
function compareNumbers(a, b){
return a - b;
}
exports.compareNumbers=compareNumbers;
function isInt(n){
return n % 1===0;
}
exports.isInt=isInt;
function proxy(obj, methodName){
var method=obj[methodName];
return function (){
return method.apply(obj, arguments);
};}
exports.proxy=proxy;
function debounce(func, wait, immediate){
if(immediate===void 0){ immediate=false; }
var timeout;
var args;
var context;
var timestamp;
var result;
var later=function (){
var last=+new Date() - timestamp;
if(last < wait){
timeout=setTimeout(later, wait - last);
}else{
timeout=null;
if(!immediate){
result=func.apply(context, args);
context=args=null;
}}
};
return function (){
context=this;
args=arguments;
timestamp=+new Date();
var callNow=immediate&&!timeout;
if(!timeout){
timeout=setTimeout(later, wait);
}
if(callNow){
result=func.apply(context, args);
context=args=null;
}
return result;
};}
exports.debounce=debounce;
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var moment=__webpack_require__(0);
var moment_ext_1=__webpack_require__(10);
var UnzonedRange= (function (){
function UnzonedRange(startInput, endInput){
this.isStart=true;
this.isEnd=true;
if(moment.isMoment(startInput)){
startInput=startInput.clone().stripZone();
}
if(moment.isMoment(endInput)){
endInput=endInput.clone().stripZone();
}
if(startInput){
this.startMs=startInput.valueOf();
}
if(endInput){
this.endMs=endInput.valueOf();
}}
UnzonedRange.invertRanges=function (ranges, constraintRange){
var invertedRanges=[];
var startMs=constraintRange.startMs;
var i;
var dateRange;
ranges.sort(compareUnzonedRanges);
for (i=0; i < ranges.length; i++){
dateRange=ranges[i];
if(dateRange.startMs > startMs){
invertedRanges.push(new UnzonedRange(startMs, dateRange.startMs));
}
if(dateRange.endMs > startMs){
startMs=dateRange.endMs;
}}
if(startMs < constraintRange.endMs){
invertedRanges.push(new UnzonedRange(startMs, constraintRange.endMs));
}
return invertedRanges;
};
UnzonedRange.prototype.intersect=function (otherRange){
var startMs=this.startMs;
var endMs=this.endMs;
var newRange=null;
if(otherRange.startMs!=null){
if(startMs==null){
startMs=otherRange.startMs;
}else{
startMs=Math.max(startMs, otherRange.startMs);
}}
if(otherRange.endMs!=null){
if(endMs==null){
endMs=otherRange.endMs;
}else{
endMs=Math.min(endMs, otherRange.endMs);
}}
if(startMs==null||endMs==null||startMs < endMs){
newRange=new UnzonedRange(startMs, endMs);
newRange.isStart=this.isStart&&startMs===this.startMs;
newRange.isEnd=this.isEnd&&endMs===this.endMs;
}
return newRange;
};
UnzonedRange.prototype.intersectsWith=function (otherRange){
return (this.endMs==null||otherRange.startMs==null||this.endMs > otherRange.startMs) &&
(this.startMs==null||otherRange.endMs==null||this.startMs < otherRange.endMs);
};
UnzonedRange.prototype.containsRange=function (innerRange){
return (this.startMs==null||(innerRange.startMs!=null&&innerRange.startMs >=this.startMs)) &&
(this.endMs==null||(innerRange.endMs!=null&&innerRange.endMs <=this.endMs));
};
UnzonedRange.prototype.containsDate=function (date){
var ms=date.valueOf();
return (this.startMs==null||ms >=this.startMs) &&
(this.endMs==null||ms < this.endMs);
};
UnzonedRange.prototype.constrainDate=function (date){
var ms=date.valueOf();
if(this.startMs!=null&&ms < this.startMs){
ms=this.startMs;
}
if(this.endMs!=null&&ms >=this.endMs){
ms=this.endMs - 1;
}
return ms;
};
UnzonedRange.prototype.equals=function (otherRange){
return this.startMs===otherRange.startMs&&this.endMs===otherRange.endMs;
};
UnzonedRange.prototype.clone=function (){
var range=new UnzonedRange(this.startMs, this.endMs);
range.isStart=this.isStart;
range.isEnd=this.isEnd;
return range;
};
UnzonedRange.prototype.getStart=function (){
if(this.startMs!=null){
return moment_ext_1.default.utc(this.startMs).stripZone();
}
return null;
};
UnzonedRange.prototype.getEnd=function (){
if(this.endMs!=null){
return moment_ext_1.default.utc(this.endMs).stripZone();
}
return null;
};
UnzonedRange.prototype.as=function (unit){
return moment.utc(this.endMs).diff(moment.utc(this.startMs), unit, true);
};
return UnzonedRange;
}());
exports.default=UnzonedRange;
function compareUnzonedRanges(range1, range2){
return range1.startMs - range2.startMs;
}
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1=__webpack_require__(2);
var $=__webpack_require__(3);
var ParsableModelMixin_1=__webpack_require__(208);
var Class_1=__webpack_require__(33);
var EventDefParser_1=__webpack_require__(49);
var EventSource= (function (_super){
tslib_1.__extends(EventSource, _super);
function EventSource(calendar){
var _this=_super.call(this)||this;
_this.calendar=calendar;
_this.className=[];
_this.uid=String(EventSource.uuid++);
return _this;
}
EventSource.parse=function (rawInput, calendar){
var source=new this(calendar);
if(typeof rawInput==='object'){
if(source.applyProps(rawInput)){
return source;
}}
return false;
};
EventSource.normalizeId=function (id){
if(id){
return String(id);
}
return null;
};
EventSource.prototype.fetch=function (start, end, timezone){
};
EventSource.prototype.removeEventDefsById=function (eventDefId){
};
EventSource.prototype.removeAllEventDefs=function (){
};
EventSource.prototype.getPrimitive=function (otherSource){
};
EventSource.prototype.parseEventDefs=function (rawEventDefs){
var i;
var eventDef;
var eventDefs=[];
for (i=0; i < rawEventDefs.length; i++){
eventDef=this.parseEventDef(rawEventDefs[i]);
if(eventDef){
eventDefs.push(eventDef);
}}
return eventDefs;
};
EventSource.prototype.parseEventDef=function (rawInput){
var calendarTransform=this.calendar.opt('eventDataTransform');
var sourceTransform=this.eventDataTransform;
if(calendarTransform){
rawInput=calendarTransform(rawInput, this.calendar);
}
if(sourceTransform){
rawInput=sourceTransform(rawInput, this.calendar);
}
return EventDefParser_1.default.parse(rawInput, this);
};
EventSource.prototype.applyManualStandardProps=function (rawProps){
if(rawProps.id!=null){
this.id=EventSource.normalizeId(rawProps.id);
}
if($.isArray(rawProps.className)){
this.className=rawProps.className;
}
else if(typeof rawProps.className==='string'){
this.className=rawProps.className.split(/\s+/);
}
return true;
};
EventSource.uuid=0;
EventSource.defineStandardProps=ParsableModelMixin_1.default.defineStandardProps;
EventSource.copyVerbatimStandardProps=ParsableModelMixin_1.default.copyVerbatimStandardProps;
return EventSource;
}(Class_1.default));
exports.default=EventSource;
ParsableModelMixin_1.default.mixInto(EventSource);
EventSource.defineStandardProps({
id: false,
className: false,
color: true,
backgroundColor: true,
borderColor: true,
textColor: true,
editable: true,
startEditable: true,
durationEditable: true,
rendering: true,
overlap: true,
constraint: true,
allDayDefault: true,
eventDataTransform: true
});
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1=__webpack_require__(2);
var $=__webpack_require__(3);
var Mixin_1=__webpack_require__(14);
var guid=0;
var ListenerMixin= (function (_super){
tslib_1.__extends(ListenerMixin, _super);
function ListenerMixin(){
return _super!==null&&_super.apply(this, arguments)||this;
}
ListenerMixin.prototype.listenTo=function (other, arg, callback){
if(typeof arg==='object'){
for (var eventName in arg){
if(arg.hasOwnProperty(eventName)){
this.listenTo(other, eventName, arg[eventName]);
}}
}
else if(typeof arg==='string'){
other.on(arg + '.' + this.getListenerNamespace(),
$.proxy(callback, this)
);
}};
ListenerMixin.prototype.stopListeningTo=function (other, eventName){
other.off((eventName||'') + '.' + this.getListenerNamespace());
};
ListenerMixin.prototype.getListenerNamespace=function (){
if(this.listenerId==null){
this.listenerId=guid++;
}
return '_listener' + this.listenerId;
};
return ListenerMixin;
}(Mixin_1.default));
exports.default=ListenerMixin;
}),
,
,
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var moment=__webpack_require__(0);
var $=__webpack_require__(3);
var util_1=__webpack_require__(4);
var ambigDateOfMonthRegex=/^\s*\d{4}-\d\d$/;
var ambigTimeOrZoneRegex=/^\s*\d{4}-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T|)(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?)?$/;
var newMomentProto=moment.fn;
exports.newMomentProto=newMomentProto;
var oldMomentProto=$.extend({}, newMomentProto);
exports.oldMomentProto=oldMomentProto;
var momentProperties=moment.momentProperties;
momentProperties.push('_fullCalendar');
momentProperties.push('_ambigTime');
momentProperties.push('_ambigZone');
function oldMomentFormat(mom, formatStr){
return oldMomentProto.format.call(mom, formatStr);
}
exports.oldMomentFormat=oldMomentFormat;
var momentExt=function (){
return makeMoment(arguments);
};
exports.default=momentExt;
momentExt.utc=function (){
var mom=makeMoment(arguments, true);
if(mom.hasTime()){
mom.utc();
}
return mom;
};
momentExt.parseZone=function (){
return makeMoment(arguments, true, true);
};
function makeMoment(args, parseAsUTC, parseZone){
if(parseAsUTC===void 0){ parseAsUTC=false; }
if(parseZone===void 0){ parseZone=false; }
var input=args[0];
var isSingleString=args.length===1&&typeof input==='string';
var isAmbigTime;
var isAmbigZone;
var ambigMatch;
var mom;
if(moment.isMoment(input)||util_1.isNativeDate(input)||input===undefined){
mom=moment.apply(null, args);
}else{
isAmbigTime=false;
isAmbigZone=false;
if(isSingleString){
if(ambigDateOfMonthRegex.test(input)){
input +='-01';
args=[input];
isAmbigTime=true;
isAmbigZone=true;
}
else if((ambigMatch=ambigTimeOrZoneRegex.exec(input))){
isAmbigTime = !ambigMatch[5];
isAmbigZone=true;
}}
else if($.isArray(input)){
isAmbigZone=true;
}
if(parseAsUTC||isAmbigTime){
mom=moment.utc.apply(moment, args);
}else{
mom=moment.apply(null, args);
}
if(isAmbigTime){
mom._ambigTime=true;
mom._ambigZone=true;
}
else if(parseZone){
if(isAmbigZone){
mom._ambigZone=true;
}
else if(isSingleString){
mom.utcOffset(input);
}}
}
mom._fullCalendar=true;
return mom;
}
newMomentProto.week=newMomentProto.weeks=function (input){
var weekCalc=this._locale._fullCalendar_weekCalc;
if(input==null&&typeof weekCalc==='function'){
return weekCalc(this);
}
else if(weekCalc==='ISO'){
return oldMomentProto.isoWeek.apply(this, arguments);
}
return oldMomentProto.week.apply(this, arguments);
};
newMomentProto.time=function (time){
if(!this._fullCalendar){
return oldMomentProto.time.apply(this, arguments);
}
if(time==null){
return moment.duration({
hours: this.hours(),
minutes: this.minutes(),
seconds: this.seconds(),
milliseconds: this.milliseconds()
});
}else{
this._ambigTime=false;
if(!moment.isDuration(time)&&!moment.isMoment(time)){
time=moment.duration(time);
}
var dayHours=0;
if(moment.isDuration(time)){
dayHours=Math.floor(time.asDays()) * 24;
}
return this.hours(dayHours + time.hours())
.minutes(time.minutes())
.seconds(time.seconds())
.milliseconds(time.milliseconds());
}};
newMomentProto.stripTime=function (){
if(!this._ambigTime){
this.utc(true);
this.set({
hours: 0,
minutes: 0,
seconds: 0,
ms: 0
});
this._ambigTime=true;
this._ambigZone=true;
}
return this;
};
newMomentProto.hasTime=function (){
return !this._ambigTime;
};
newMomentProto.stripZone=function (){
var wasAmbigTime;
if(!this._ambigZone){
wasAmbigTime=this._ambigTime;
this.utc(true);
this._ambigTime=wasAmbigTime||false;
this._ambigZone=true;
}
return this;
};
newMomentProto.hasZone=function (){
return !this._ambigZone;
};
newMomentProto.local=function (keepLocalTime){
oldMomentProto.local.call(this, this._ambigZone||keepLocalTime);
this._ambigTime=false;
this._ambigZone=false;
return this;
};
newMomentProto.utc=function (keepLocalTime){
oldMomentProto.utc.call(this, keepLocalTime);
this._ambigTime=false;
this._ambigZone=false;
return this;
};
newMomentProto.utcOffset=function (tzo){
if(tzo!=null){
this._ambigTime=false;
this._ambigZone=false;
}
return oldMomentProto.utcOffset.apply(this, arguments);
};
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1=__webpack_require__(2);
var $=__webpack_require__(3);
var Mixin_1=__webpack_require__(14);
var EmitterMixin= (function (_super){
tslib_1.__extends(EmitterMixin, _super);
function EmitterMixin(){
return _super!==null&&_super.apply(this, arguments)||this;
}
EmitterMixin.prototype.on=function (types, handler){
$(this).on(types, this._prepareIntercept(handler));
return this;
};
EmitterMixin.prototype.one=function (types, handler){
$(this).one(types, this._prepareIntercept(handler));
return this;
};
EmitterMixin.prototype._prepareIntercept=function (handler){
var intercept=function (ev, extra){
return handler.apply(extra.context||this, extra.args||[]);
};
if(!handler.guid){
handler.guid=$.guid++;
}
intercept.guid=handler.guid;
return intercept;
};
EmitterMixin.prototype.off=function (types, handler){
$(this).off(types, handler);
return this;
};
EmitterMixin.prototype.trigger=function (types){
var args=[];
for (var _i=1; _i < arguments.length; _i++){
args[_i - 1]=arguments[_i];
}
$(this).triggerHandler(types, { args: args });
return this;
};
EmitterMixin.prototype.triggerWith=function (types, context, args){
$(this).triggerHandler(types, { context: context, args: args });
return this;
};
EmitterMixin.prototype.hasHandlers=function (type){
var hash=$._data(this, 'events');
return hash&&hash[type]&&hash[type].length > 0;
};
return EmitterMixin;
}(Mixin_1.default));
exports.default=EmitterMixin;
}),
(function(module, exports){
Object.defineProperty(exports, "__esModule", { value: true });
var ComponentFootprint= (function (){
function ComponentFootprint(unzonedRange, isAllDay){
this.isAllDay=false;
this.unzonedRange=unzonedRange;
this.isAllDay=isAllDay;
}
ComponentFootprint.prototype.toLegacy=function (calendar){
return {
start: calendar.msToMoment(this.unzonedRange.startMs, this.isAllDay),
end: calendar.msToMoment(this.unzonedRange.endMs, this.isAllDay)
};};
return ComponentFootprint;
}());
exports.default=ComponentFootprint;
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1=__webpack_require__(2);
var EventDef_1=__webpack_require__(34);
var EventInstance_1=__webpack_require__(209);
var EventDateProfile_1=__webpack_require__(17);
var SingleEventDef= (function (_super){
tslib_1.__extends(SingleEventDef, _super);
function SingleEventDef(){
return _super!==null&&_super.apply(this, arguments)||this;
}
SingleEventDef.prototype.buildInstances=function (){
return [this.buildInstance()];
};
SingleEventDef.prototype.buildInstance=function (){
return new EventInstance_1.default(this,
this.dateProfile);
};
SingleEventDef.prototype.isAllDay=function (){
return this.dateProfile.isAllDay();
};
SingleEventDef.prototype.clone=function (){
var def=_super.prototype.clone.call(this);
def.dateProfile=this.dateProfile;
return def;
};
SingleEventDef.prototype.rezone=function (){
var calendar=this.source.calendar;
var dateProfile=this.dateProfile;
this.dateProfile=new EventDateProfile_1.default(calendar.moment(dateProfile.start), dateProfile.end ? calendar.moment(dateProfile.end):null, calendar);
};
SingleEventDef.prototype.applyManualStandardProps=function (rawProps){
var superSuccess=_super.prototype.applyManualStandardProps.call(this, rawProps);
var dateProfile=EventDateProfile_1.default.parse(rawProps, this.source);
if(dateProfile){
this.dateProfile=dateProfile;
if(rawProps.date!=null){
this.miscProps.date=rawProps.date;
}
return superSuccess;
}else{
return false;
}};
return SingleEventDef;
}(EventDef_1.default));
exports.default=SingleEventDef;
SingleEventDef.defineStandardProps({
start: false,
date: false,
end: false,
allDay: false
});
}),
(function(module, exports){
Object.defineProperty(exports, "__esModule", { value: true });
var Mixin= (function (){
function Mixin(){
}
Mixin.mixInto=function (destClass){
var _this=this;
Object.getOwnPropertyNames(this.prototype).forEach(function (name){
if(!destClass.prototype[name]){
destClass.prototype[name]=_this.prototype[name];
}});
};
Mixin.mixOver=function (destClass){
var _this=this;
Object.getOwnPropertyNames(this.prototype).forEach(function (name){
destClass.prototype[name]=_this.prototype[name];
});
};
return Mixin;
}());
exports.default=Mixin;
}),
(function(module, exports){
Object.defineProperty(exports, "__esModule", { value: true });
var Interaction= (function (){
function Interaction(component){
this.view=component._getView();
this.component=component;
}
Interaction.prototype.opt=function (name){
return this.view.opt(name);
};
Interaction.prototype.end=function (){
};
return Interaction;
}());
exports.default=Interaction;
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
exports.version='3.9.0';
exports.internalApiVersion=12;
var util_1=__webpack_require__(4);
exports.applyAll=util_1.applyAll;
exports.debounce=util_1.debounce;
exports.isInt=util_1.isInt;
exports.htmlEscape=util_1.htmlEscape;
exports.cssToStr=util_1.cssToStr;
exports.proxy=util_1.proxy;
exports.capitaliseFirstLetter=util_1.capitaliseFirstLetter;
exports.getOuterRect=util_1.getOuterRect;
exports.getClientRect=util_1.getClientRect;
exports.getContentRect=util_1.getContentRect;
exports.getScrollbarWidths=util_1.getScrollbarWidths;
exports.preventDefault=util_1.preventDefault;
exports.parseFieldSpecs=util_1.parseFieldSpecs;
exports.compareByFieldSpecs=util_1.compareByFieldSpecs;
exports.compareByFieldSpec=util_1.compareByFieldSpec;
exports.flexibleCompare=util_1.flexibleCompare;
exports.computeGreatestUnit=util_1.computeGreatestUnit;
exports.divideRangeByDuration=util_1.divideRangeByDuration;
exports.divideDurationByDuration=util_1.divideDurationByDuration;
exports.multiplyDuration=util_1.multiplyDuration;
exports.durationHasTime=util_1.durationHasTime;
exports.log=util_1.log;
exports.warn=util_1.warn;
exports.removeExact=util_1.removeExact;
exports.intersectRects=util_1.intersectRects;
var date_formatting_1=__webpack_require__(47);
exports.formatDate=date_formatting_1.formatDate;
exports.formatRange=date_formatting_1.formatRange;
exports.queryMostGranularFormatUnit=date_formatting_1.queryMostGranularFormatUnit;
var locale_1=__webpack_require__(31);
exports.datepickerLocale=locale_1.datepickerLocale;
exports.locale=locale_1.locale;
var moment_ext_1=__webpack_require__(10);
exports.moment=moment_ext_1.default;
var EmitterMixin_1=__webpack_require__(11);
exports.EmitterMixin=EmitterMixin_1.default;
var ListenerMixin_1=__webpack_require__(7);
exports.ListenerMixin=ListenerMixin_1.default;
var Model_1=__webpack_require__(48);
exports.Model=Model_1.default;
var Constraints_1=__webpack_require__(207);
exports.Constraints=Constraints_1.default;
var UnzonedRange_1=__webpack_require__(5);
exports.UnzonedRange=UnzonedRange_1.default;
var ComponentFootprint_1=__webpack_require__(12);
exports.ComponentFootprint=ComponentFootprint_1.default;
var BusinessHourGenerator_1=__webpack_require__(212);
exports.BusinessHourGenerator=BusinessHourGenerator_1.default;
var EventDef_1=__webpack_require__(34);
exports.EventDef=EventDef_1.default;
var EventDefMutation_1=__webpack_require__(37);
exports.EventDefMutation=EventDefMutation_1.default;
var EventSourceParser_1=__webpack_require__(38);
exports.EventSourceParser=EventSourceParser_1.default;
var EventSource_1=__webpack_require__(6);
exports.EventSource=EventSource_1.default;
var ThemeRegistry_1=__webpack_require__(51);
exports.defineThemeSystem=ThemeRegistry_1.defineThemeSystem;
var EventInstanceGroup_1=__webpack_require__(18);
exports.EventInstanceGroup=EventInstanceGroup_1.default;
var ArrayEventSource_1=__webpack_require__(52);
exports.ArrayEventSource=ArrayEventSource_1.default;
var FuncEventSource_1=__webpack_require__(215);
exports.FuncEventSource=FuncEventSource_1.default;
var JsonFeedEventSource_1=__webpack_require__(216);
exports.JsonFeedEventSource=JsonFeedEventSource_1.default;
var EventFootprint_1=__webpack_require__(36);
exports.EventFootprint=EventFootprint_1.default;
var Class_1=__webpack_require__(33);
exports.Class=Class_1.default;
var Mixin_1=__webpack_require__(14);
exports.Mixin=Mixin_1.default;
var CoordCache_1=__webpack_require__(53);
exports.CoordCache=CoordCache_1.default;
var DragListener_1=__webpack_require__(54);
exports.DragListener=DragListener_1.default;
var Promise_1=__webpack_require__(20);
exports.Promise=Promise_1.default;
var TaskQueue_1=__webpack_require__(217);
exports.TaskQueue=TaskQueue_1.default;
var RenderQueue_1=__webpack_require__(218);
exports.RenderQueue=RenderQueue_1.default;
var Scroller_1=__webpack_require__(39);
exports.Scroller=Scroller_1.default;
var Theme_1=__webpack_require__(19);
exports.Theme=Theme_1.default;
var DateComponent_1=__webpack_require__(219);
exports.DateComponent=DateComponent_1.default;
var InteractiveDateComponent_1=__webpack_require__(40);
exports.InteractiveDateComponent=InteractiveDateComponent_1.default;
var Calendar_1=__webpack_require__(220);
exports.Calendar=Calendar_1.default;
var View_1=__webpack_require__(41);
exports.View=View_1.default;
var ViewRegistry_1=__webpack_require__(22);
exports.defineView=ViewRegistry_1.defineView;
exports.getViewConfig=ViewRegistry_1.getViewConfig;
var DayTableMixin_1=__webpack_require__(55);
exports.DayTableMixin=DayTableMixin_1.default;
var BusinessHourRenderer_1=__webpack_require__(56);
exports.BusinessHourRenderer=BusinessHourRenderer_1.default;
var EventRenderer_1=__webpack_require__(42);
exports.EventRenderer=EventRenderer_1.default;
var FillRenderer_1=__webpack_require__(57);
exports.FillRenderer=FillRenderer_1.default;
var HelperRenderer_1=__webpack_require__(58);
exports.HelperRenderer=HelperRenderer_1.default;
var ExternalDropping_1=__webpack_require__(222);
exports.ExternalDropping=ExternalDropping_1.default;
var EventResizing_1=__webpack_require__(223);
exports.EventResizing=EventResizing_1.default;
var EventPointing_1=__webpack_require__(59);
exports.EventPointing=EventPointing_1.default;
var EventDragging_1=__webpack_require__(224);
exports.EventDragging=EventDragging_1.default;
var DateSelecting_1=__webpack_require__(225);
exports.DateSelecting=DateSelecting_1.default;
var StandardInteractionsMixin_1=__webpack_require__(60);
exports.StandardInteractionsMixin=StandardInteractionsMixin_1.default;
var AgendaView_1=__webpack_require__(226);
exports.AgendaView=AgendaView_1.default;
var TimeGrid_1=__webpack_require__(227);
exports.TimeGrid=TimeGrid_1.default;
var DayGrid_1=__webpack_require__(61);
exports.DayGrid=DayGrid_1.default;
var BasicView_1=__webpack_require__(62);
exports.BasicView=BasicView_1.default;
var MonthView_1=__webpack_require__(229);
exports.MonthView=MonthView_1.default;
var ListView_1=__webpack_require__(230);
exports.ListView=ListView_1.default;
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var UnzonedRange_1=__webpack_require__(5);
var EventDateProfile= (function (){
function EventDateProfile(start, end, calendar){
this.start=start;
this.end=end||null;
this.unzonedRange=this.buildUnzonedRange(calendar);
}
EventDateProfile.parse=function (rawProps, source){
var startInput=rawProps.start||rawProps.date;
var endInput=rawProps.end;
if(!startInput){
return false;
}
var calendar=source.calendar;
var start=calendar.moment(startInput);
var end=endInput ? calendar.moment(endInput):null;
var forcedAllDay=rawProps.allDay;
var forceEventDuration=calendar.opt('forceEventDuration');
if(!start.isValid()){
return false;
}
if(end&&(!end.isValid()||!end.isAfter(start))){
end=null;
}
if(forcedAllDay==null){
forcedAllDay=source.allDayDefault;
if(forcedAllDay==null){
forcedAllDay=calendar.opt('allDayDefault');
}}
if(forcedAllDay===true){
start.stripTime();
if(end){
end.stripTime();
}}
else if(forcedAllDay===false){
if(!start.hasTime()){
start.time(0);
}
if(end&&!end.hasTime()){
end.time(0);
}}
if(!end&&forceEventDuration){
end=calendar.getDefaultEventEnd(!start.hasTime(), start);
}
return new EventDateProfile(start, end, calendar);
};
EventDateProfile.isStandardProp=function (propName){
return propName==='start'||propName==='date'||propName==='end'||propName==='allDay';
};
EventDateProfile.prototype.isAllDay=function (){
return !(this.start.hasTime()||(this.end&&this.end.hasTime()));
};
EventDateProfile.prototype.buildUnzonedRange=function (calendar){
var startMs=this.start.clone().stripZone().valueOf();
var endMs=this.getEnd(calendar).stripZone().valueOf();
return new UnzonedRange_1.default(startMs, endMs);
};
EventDateProfile.prototype.getEnd=function (calendar){
return this.end ?
this.end.clone() :
calendar.getDefaultEventEnd(this.isAllDay(), this.start);
};
return EventDateProfile;
}());
exports.default=EventDateProfile;
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var UnzonedRange_1=__webpack_require__(5);
var util_1=__webpack_require__(35);
var EventRange_1=__webpack_require__(211);
var EventInstanceGroup= (function (){
function EventInstanceGroup(eventInstances){
this.eventInstances=eventInstances||[];
}
EventInstanceGroup.prototype.getAllEventRanges=function (constraintRange){
if(constraintRange){
return this.sliceNormalRenderRanges(constraintRange);
}else{
return this.eventInstances.map(util_1.eventInstanceToEventRange);
}};
EventInstanceGroup.prototype.sliceRenderRanges=function (constraintRange){
if(this.isInverse()){
return this.sliceInverseRenderRanges(constraintRange);
}else{
return this.sliceNormalRenderRanges(constraintRange);
}};
EventInstanceGroup.prototype.sliceNormalRenderRanges=function (constraintRange){
var eventInstances=this.eventInstances;
var i;
var eventInstance;
var slicedRange;
var slicedEventRanges=[];
for (i=0; i < eventInstances.length; i++){
eventInstance=eventInstances[i];
slicedRange=eventInstance.dateProfile.unzonedRange.intersect(constraintRange);
if(slicedRange){
slicedEventRanges.push(new EventRange_1.default(slicedRange, eventInstance.def, eventInstance));
}}
return slicedEventRanges;
};
EventInstanceGroup.prototype.sliceInverseRenderRanges=function (constraintRange){
var unzonedRanges=this.eventInstances.map(util_1.eventInstanceToUnzonedRange);
var ownerDef=this.getEventDef();
unzonedRanges=UnzonedRange_1.default.invertRanges(unzonedRanges, constraintRange);
return unzonedRanges.map(function (unzonedRange){
return new EventRange_1.default(unzonedRange, ownerDef);
});
};
EventInstanceGroup.prototype.isInverse=function (){
return this.getEventDef().hasInverseRendering();
};
EventInstanceGroup.prototype.getEventDef=function (){
return this.explicitEventDef||this.eventInstances[0].def;
};
return EventInstanceGroup;
}());
exports.default=EventInstanceGroup;
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var $=__webpack_require__(3);
var Theme= (function (){
function Theme(optionsManager){
this.optionsManager=optionsManager;
this.processIconOverride();
}
Theme.prototype.processIconOverride=function (){
if(this.iconOverrideOption){
this.setIconOverride(this.optionsManager.get(this.iconOverrideOption));
}};
Theme.prototype.setIconOverride=function (iconOverrideHash){
var iconClassesCopy;
var buttonName;
if($.isPlainObject(iconOverrideHash)){
iconClassesCopy=$.extend({}, this.iconClasses);
for (buttonName in iconOverrideHash){
iconClassesCopy[buttonName]=this.applyIconOverridePrefix(iconOverrideHash[buttonName]);
}
this.iconClasses=iconClassesCopy;
}
else if(iconOverrideHash===false){
this.iconClasses={};}};
Theme.prototype.applyIconOverridePrefix=function (className){
var prefix=this.iconOverridePrefix;
if(prefix&&className.indexOf(prefix)!==0){
className=prefix + className;
}
return className;
};
Theme.prototype.getClass=function (key){
return this.classes[key]||'';
};
Theme.prototype.getIconClass=function (buttonName){
var className=this.iconClasses[buttonName];
if(className){
return this.baseIconClass + ' ' + className;
}
return '';
};
Theme.prototype.getCustomButtonIconClass=function (customButtonProps){
var className;
if(this.iconOverrideCustomButtonOption){
className=customButtonProps[this.iconOverrideCustomButtonOption];
if(className){
return this.baseIconClass + ' ' + this.applyIconOverridePrefix(className);
}}
return '';
};
return Theme;
}());
exports.default=Theme;
Theme.prototype.classes={};
Theme.prototype.iconClasses={};
Theme.prototype.baseIconClass='';
Theme.prototype.iconOverridePrefix='';
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var $=__webpack_require__(3);
var PromiseStub={
construct: function (executor){
var deferred=$.Deferred();
var promise=deferred.promise();
if(typeof executor==='function'){
executor(function (val){
deferred.resolve(val);
attachImmediatelyResolvingThen(promise, val);
}, function (){
deferred.reject();
attachImmediatelyRejectingThen(promise);
});
}
return promise;
},
resolve: function (val){
var deferred=$.Deferred().resolve(val);
var promise=deferred.promise();
attachImmediatelyResolvingThen(promise, val);
return promise;
},
reject: function (){
var deferred=$.Deferred().reject();
var promise=deferred.promise();
attachImmediatelyRejectingThen(promise);
return promise;
}};
exports.default=PromiseStub;
function attachImmediatelyResolvingThen(promise, val){
promise.then=function (onResolve){
if(typeof onResolve==='function'){
return PromiseStub.resolve(onResolve(val));
}
return promise;
};}
function attachImmediatelyRejectingThen(promise){
promise.then=function (onResolve, onReject){
if(typeof onReject==='function'){
onReject();
}
return promise;
};}
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var $=__webpack_require__(3);
var exportHooks=__webpack_require__(16);
var EmitterMixin_1=__webpack_require__(11);
var ListenerMixin_1=__webpack_require__(7);
exportHooks.touchMouseIgnoreWait=500;
var globalEmitter=null;
var neededCount=0;
var GlobalEmitter= (function (){
function GlobalEmitter(){
this.isTouching=false;
this.mouseIgnoreDepth=0;
}
GlobalEmitter.get=function (){
if(!globalEmitter){
globalEmitter=new GlobalEmitter();
globalEmitter.bind();
}
return globalEmitter;
};
GlobalEmitter.needed=function (){
GlobalEmitter.get();
neededCount++;
};
GlobalEmitter.unneeded=function (){
neededCount--;
if(!neededCount){
globalEmitter.unbind();
globalEmitter=null;
}};
GlobalEmitter.prototype.bind=function (){
var _this=this;
this.listenTo($(document), {
touchstart: this.handleTouchStart,
touchcancel: this.handleTouchCancel,
touchend: this.handleTouchEnd,
mousedown: this.handleMouseDown,
mousemove: this.handleMouseMove,
mouseup: this.handleMouseUp,
click: this.handleClick,
selectstart: this.handleSelectStart,
contextmenu: this.handleContextMenu
});
window.addEventListener('touchmove', this.handleTouchMoveProxy=function (ev){
_this.handleTouchMove($.Event(ev));
}, { passive: false }
);
window.addEventListener('scroll', this.handleScrollProxy=function (ev){
_this.handleScroll($.Event(ev));
}, true
);
};
GlobalEmitter.prototype.unbind=function (){
this.stopListeningTo($(document));
window.removeEventListener('touchmove', this.handleTouchMoveProxy);
window.removeEventListener('scroll', this.handleScrollProxy, true
);
};
GlobalEmitter.prototype.handleTouchStart=function (ev){
this.stopTouch(ev, true);
this.isTouching=true;
this.trigger('touchstart', ev);
};
GlobalEmitter.prototype.handleTouchMove=function (ev){
if(this.isTouching){
this.trigger('touchmove', ev);
}};
GlobalEmitter.prototype.handleTouchCancel=function (ev){
if(this.isTouching){
this.trigger('touchcancel', ev);
this.stopTouch(ev);
}};
GlobalEmitter.prototype.handleTouchEnd=function (ev){
this.stopTouch(ev);
};
GlobalEmitter.prototype.handleMouseDown=function (ev){
if(!this.shouldIgnoreMouse()){
this.trigger('mousedown', ev);
}};
GlobalEmitter.prototype.handleMouseMove=function (ev){
if(!this.shouldIgnoreMouse()){
this.trigger('mousemove', ev);
}};
GlobalEmitter.prototype.handleMouseUp=function (ev){
if(!this.shouldIgnoreMouse()){
this.trigger('mouseup', ev);
}};
GlobalEmitter.prototype.handleClick=function (ev){
if(!this.shouldIgnoreMouse()){
this.trigger('click', ev);
}};
GlobalEmitter.prototype.handleSelectStart=function (ev){
this.trigger('selectstart', ev);
};
GlobalEmitter.prototype.handleContextMenu=function (ev){
this.trigger('contextmenu', ev);
};
GlobalEmitter.prototype.handleScroll=function (ev){
this.trigger('scroll', ev);
};
GlobalEmitter.prototype.stopTouch=function (ev, skipMouseIgnore){
if(skipMouseIgnore===void 0){ skipMouseIgnore=false; }
if(this.isTouching){
this.isTouching=false;
this.trigger('touchend', ev);
if(!skipMouseIgnore){
this.startTouchMouseIgnore();
}}
};
GlobalEmitter.prototype.startTouchMouseIgnore=function (){
var _this=this;
var wait=exportHooks.touchMouseIgnoreWait;
if(wait){
this.mouseIgnoreDepth++;
setTimeout(function (){
_this.mouseIgnoreDepth--;
}, wait);
}};
GlobalEmitter.prototype.shouldIgnoreMouse=function (){
return this.isTouching||Boolean(this.mouseIgnoreDepth);
};
return GlobalEmitter;
}());
exports.default=GlobalEmitter;
ListenerMixin_1.default.mixInto(GlobalEmitter);
EmitterMixin_1.default.mixInto(GlobalEmitter);
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var exportHooks=__webpack_require__(16);
exports.viewHash={};
exportHooks.views=exports.viewHash;
function defineView(viewName, viewConfig){
exports.viewHash[viewName]=viewConfig;
}
exports.defineView=defineView;
function getViewConfig(viewName){
return exports.viewHash[viewName];
}
exports.getViewConfig=getViewConfig;
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1=__webpack_require__(2);
var util_1=__webpack_require__(4);
var DragListener_1=__webpack_require__(54);
var HitDragListener= (function (_super){
tslib_1.__extends(HitDragListener, _super);
function HitDragListener(component, options){
var _this=_super.call(this, options)||this;
_this.component=component;
return _this;
}
HitDragListener.prototype.handleInteractionStart=function (ev){
var subjectEl=this.subjectEl;
var subjectRect;
var origPoint;
var point;
this.component.hitsNeeded();
this.computeScrollBounds();
if(ev){
origPoint={ left: util_1.getEvX(ev), top: util_1.getEvY(ev) };
point=origPoint;
if(subjectEl){
subjectRect=util_1.getOuterRect(subjectEl);
point=util_1.constrainPoint(point, subjectRect);
}
this.origHit=this.queryHit(point.left, point.top);
if(subjectEl&&this.options.subjectCenter){
if(this.origHit){
subjectRect=util_1.intersectRects(this.origHit, subjectRect) ||
subjectRect;
}
point=util_1.getRectCenter(subjectRect);
}
this.coordAdjust=util_1.diffPoints(point, origPoint);
}else{
this.origHit=null;
this.coordAdjust=null;
}
_super.prototype.handleInteractionStart.call(this, ev);
};
HitDragListener.prototype.handleDragStart=function (ev){
var hit;
_super.prototype.handleDragStart.call(this, ev);
hit=this.queryHit(util_1.getEvX(ev), util_1.getEvY(ev));
if(hit){
this.handleHitOver(hit);
}};
HitDragListener.prototype.handleDrag=function (dx, dy, ev){
var hit;
_super.prototype.handleDrag.call(this, dx, dy, ev);
hit=this.queryHit(util_1.getEvX(ev), util_1.getEvY(ev));
if(!isHitsEqual(hit, this.hit)){
if(this.hit){
this.handleHitOut();
}
if(hit){
this.handleHitOver(hit);
}}
};
HitDragListener.prototype.handleDragEnd=function (ev){
this.handleHitDone();
_super.prototype.handleDragEnd.call(this, ev);
};
HitDragListener.prototype.handleHitOver=function (hit){
var isOrig=isHitsEqual(hit, this.origHit);
this.hit=hit;
this.trigger('hitOver', this.hit, isOrig, this.origHit);
};
HitDragListener.prototype.handleHitOut=function (){
if(this.hit){
this.trigger('hitOut', this.hit);
this.handleHitDone();
this.hit=null;
}};
HitDragListener.prototype.handleHitDone=function (){
if(this.hit){
this.trigger('hitDone', this.hit);
}};
HitDragListener.prototype.handleInteractionEnd=function (ev, isCancelled){
_super.prototype.handleInteractionEnd.call(this, ev, isCancelled);
this.origHit=null;
this.hit=null;
this.component.hitsNotNeeded();
};
HitDragListener.prototype.handleScrollEnd=function (){
_super.prototype.handleScrollEnd.call(this);
if(this.isDragging){
this.component.releaseHits();
this.component.prepareHits();
}};
HitDragListener.prototype.queryHit=function (left, top){
if(this.coordAdjust){
left +=this.coordAdjust.left;
top +=this.coordAdjust.top;
}
return this.component.queryHit(left, top);
};
return HitDragListener;
}(DragListener_1.default));
exports.default=HitDragListener;
function isHitsEqual(hit0, hit1){
if(!hit0&&!hit1){
return true;
}
if(hit0&&hit1){
return hit0.component===hit1.component &&
isHitPropsWithin(hit0, hit1) &&
isHitPropsWithin(hit1, hit0);
}
return false;
}
function isHitPropsWithin(subHit, superHit){
for (var propName in subHit){
if(!/^(component|left|right|top|bottom)$/.test(propName)){
if(subHit[propName]!==superHit[propName]){
return false;
}}
}
return true;
}
}),
,
,
,
,
,
,
,
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var $=__webpack_require__(3);
var moment=__webpack_require__(0);
var exportHooks=__webpack_require__(16);
var options_1=__webpack_require__(32);
var util_1=__webpack_require__(4);
exports.localeOptionHash={};
exportHooks.locales=exports.localeOptionHash;
var dpComputableOptions={
buttonText: function (dpOptions){
return {
prev: util_1.stripHtmlEntities(dpOptions.prevText),
next: util_1.stripHtmlEntities(dpOptions.nextText),
today: util_1.stripHtmlEntities(dpOptions.currentText)
};},
monthYearFormat: function (dpOptions){
return dpOptions.showMonthAfterYear ?
'YYYY[' + dpOptions.yearSuffix + '] MMMM' :
'MMMM YYYY[' + dpOptions.yearSuffix + ']';
}};
var momComputableOptions={
dayOfMonthFormat: function (momOptions, fcOptions){
var format=momOptions.longDateFormat('l');
format=format.replace(/^Y+[^\w\s]*|[^\w\s]*Y+$/g, '');
if(fcOptions.isRTL){
format +=' ddd';
}else{
format='ddd ' + format;
}
return format;
},
mediumTimeFormat: function (momOptions){
return momOptions.longDateFormat('LT')
.replace(/\s*a$/i, 'a');
},
smallTimeFormat: function (momOptions){
return momOptions.longDateFormat('LT')
.replace(':mm', '(:mm)')
.replace(/(\Wmm)$/, '($1)')
.replace(/\s*a$/i, 'a');
},
extraSmallTimeFormat: function (momOptions){
return momOptions.longDateFormat('LT')
.replace(':mm', '(:mm)')
.replace(/(\Wmm)$/, '($1)')
.replace(/\s*a$/i, 't');
},
hourFormat: function (momOptions){
return momOptions.longDateFormat('LT')
.replace(':mm', '')
.replace(/(\Wmm)$/, '')
.replace(/\s*a$/i, 'a');
},
noMeridiemTimeFormat: function (momOptions){
return momOptions.longDateFormat('LT')
.replace(/\s*a$/i, '');
}};
var instanceComputableOptions={
smallDayDateFormat: function (options){
return options.isRTL ?
'D dd' :
'dd D';
},
weekFormat: function (options){
return options.isRTL ?
'w[ ' + options.weekNumberTitle + ']' :
'[' + options.weekNumberTitle + ' ]w';
},
smallWeekFormat: function (options){
return options.isRTL ?
'w[' + options.weekNumberTitle + ']' :
'[' + options.weekNumberTitle + ']w';
}};
function populateInstanceComputableOptions(options){
$.each(instanceComputableOptions, function (name, func){
if(options[name]==null){
options[name]=func(options);
}});
}
exports.populateInstanceComputableOptions=populateInstanceComputableOptions;
function datepickerLocale(localeCode, dpLocaleCode, dpOptions){
var fcOptions=exports.localeOptionHash[localeCode]||(exports.localeOptionHash[localeCode]={});
fcOptions.isRTL=dpOptions.isRTL;
fcOptions.weekNumberTitle=dpOptions.weekHeader;
$.each(dpComputableOptions, function (name, func){
fcOptions[name]=func(dpOptions);
});
var jqDatePicker=$.datepicker;
if(jqDatePicker){
jqDatePicker.regional[dpLocaleCode] =
jqDatePicker.regional[localeCode] =
dpOptions;
jqDatePicker.regional.en=jqDatePicker.regional[''];
jqDatePicker.setDefaults(dpOptions);
}}
exports.datepickerLocale=datepickerLocale;
function locale(localeCode, newFcOptions){
var fcOptions;
var momOptions;
fcOptions=exports.localeOptionHash[localeCode]||(exports.localeOptionHash[localeCode]={});
if(newFcOptions){
fcOptions=exports.localeOptionHash[localeCode]=options_1.mergeOptions([fcOptions, newFcOptions]);
}
momOptions=getMomentLocaleData(localeCode);
$.each(momComputableOptions, function (name, func){
if(fcOptions[name]==null){
fcOptions[name]=(func)(momOptions, fcOptions);
}});
options_1.globalDefaults.locale=localeCode;
}
exports.locale=locale;
function getMomentLocaleData(localeCode){
return moment.localeData(localeCode)||moment.localeData('en');
}
exports.getMomentLocaleData=getMomentLocaleData;
locale('en', options_1.englishDefaults);
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var util_1=__webpack_require__(4);
exports.globalDefaults={
titleRangeSeparator: ' \u2013 ',
monthYearFormat: 'MMMM YYYY',
defaultTimedEventDuration: '02:00:00',
defaultAllDayEventDuration: { days: 1 },
forceEventDuration: false,
nextDayThreshold: '09:00:00',
columnHeader: true,
defaultView: 'month',
aspectRatio: 1.35,
header: {
left: 'title',
center: '',
right: 'today prev,next'
},
weekends: true,
weekNumbers: false,
weekNumberTitle: 'W',
weekNumberCalculation: 'local',
scrollTime: '06:00:00',
minTime: '00:00:00',
maxTime: '24:00:00',
showNonCurrentDates: true,
lazyFetching: true,
startParam: 'start',
endParam: 'end',
timezoneParam: 'timezone',
timezone: false,
locale: null,
isRTL: false,
buttonText: {
prev: 'prev',
next: 'next',
prevYear: 'prev year',
nextYear: 'next year',
year: 'year',
today: 'today',
month: 'month',
week: 'week',
day: 'day'
},
allDayText: 'all-day',
agendaEventMinHeight: 0,
theme: false,
dragOpacity: .75,
dragRevertDuration: 500,
dragScroll: true,
unselectAuto: true,
dropAccept: '*',
eventOrder: 'title',
eventLimit: false,
eventLimitText: 'more',
eventLimitClick: 'popover',
dayPopoverFormat: 'LL',
handleWindowResize: true,
windowResizeDelay: 100,
longPressDelay: 1000
};
exports.englishDefaults={
dayPopoverFormat: 'dddd, MMMM D'
};
exports.rtlDefaults={
header: {
left: 'next,prev today',
center: '',
right: 'title'
},
buttonIcons: {
prev: 'right-single-arrow',
next: 'left-single-arrow',
prevYear: 'right-double-arrow',
nextYear: 'left-double-arrow'
},
themeButtonIcons: {
prev: 'circle-triangle-e',
next: 'circle-triangle-w',
nextYear: 'seek-prev',
prevYear: 'seek-next'
}};
var complexOptions=[
'header',
'footer',
'buttonText',
'buttonIcons',
'themeButtonIcons'
];
function mergeOptions(optionObjs){
return util_1.mergeProps(optionObjs, complexOptions);
}
exports.mergeOptions=mergeOptions;
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1=__webpack_require__(2);
var util_1=__webpack_require__(4);
var Class= (function (){
function Class(){
}
Class.extend=function (members){
var SubClass= (function (_super){
tslib_1.__extends(SubClass, _super);
function SubClass(){
return _super!==null&&_super.apply(this, arguments)||this;
}
return SubClass;
}(this));
util_1.copyOwnProps(members, SubClass.prototype);
return SubClass;
};
Class.mixin=function (members){
util_1.copyOwnProps(members, this.prototype);
};
return Class;
}());
exports.default=Class;
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var $=__webpack_require__(3);
var ParsableModelMixin_1=__webpack_require__(208);
var EventDef= (function (){
function EventDef(source){
this.source=source;
this.className=[];
this.miscProps={};}
EventDef.parse=function (rawInput, source){
var def=new this(source);
if(def.applyProps(rawInput)){
return def;
}
return false;
};
EventDef.normalizeId=function (id){
return String(id);
};
EventDef.generateId=function (){
return '_fc' + (EventDef.uuid++);
};
EventDef.prototype.clone=function (){
var copy=new this.constructor(this.source);
copy.id=this.id;
copy.rawId=this.rawId;
copy.uid=this.uid;
EventDef.copyVerbatimStandardProps(this, copy);
copy.className=this.className.slice();
copy.miscProps=$.extend({}, this.miscProps);
return copy;
};
EventDef.prototype.hasInverseRendering=function (){
return this.getRendering()==='inverse-background';
};
EventDef.prototype.hasBgRendering=function (){
var rendering=this.getRendering();
return rendering==='inverse-background'||rendering==='background';
};
EventDef.prototype.getRendering=function (){
if(this.rendering!=null){
return this.rendering;
}
return this.source.rendering;
};
EventDef.prototype.getConstraint=function (){
if(this.constraint!=null){
return this.constraint;
}
if(this.source.constraint!=null){
return this.source.constraint;
}
return this.source.calendar.opt('eventConstraint');
};
EventDef.prototype.getOverlap=function (){
if(this.overlap!=null){
return this.overlap;
}
if(this.source.overlap!=null){
return this.source.overlap;
}
return this.source.calendar.opt('eventOverlap');
};
EventDef.prototype.isStartExplicitlyEditable=function (){
if(this.startEditable!=null){
return this.startEditable;
}
return this.source.startEditable;
};
EventDef.prototype.isDurationExplicitlyEditable=function (){
if(this.durationEditable!=null){
return this.durationEditable;
}
return this.source.durationEditable;
};
EventDef.prototype.isExplicitlyEditable=function (){
if(this.editable!=null){
return this.editable;
}
return this.source.editable;
};
EventDef.prototype.toLegacy=function (){
var obj=$.extend({}, this.miscProps);
obj._id=this.uid;
obj.source=this.source;
obj.className=this.className.slice();
obj.allDay=this.isAllDay();
if(this.rawId!=null){
obj.id=this.rawId;
}
EventDef.copyVerbatimStandardProps(this, obj);
return obj;
};
EventDef.prototype.applyManualStandardProps=function (rawProps){
if(rawProps.id!=null){
this.id=EventDef.normalizeId((this.rawId=rawProps.id));
}else{
this.id=EventDef.generateId();
}
if(rawProps._id!=null){
this.uid=String(rawProps._id);
}else{
this.uid=EventDef.generateId();
}
if($.isArray(rawProps.className)){
this.className=rawProps.className;
}
if(typeof rawProps.className==='string'){
this.className=rawProps.className.split(/\s+/);
}
return true;
};
EventDef.prototype.applyMiscProps=function (rawProps){
$.extend(this.miscProps, rawProps);
};
EventDef.uuid=0;
EventDef.defineStandardProps=ParsableModelMixin_1.default.defineStandardProps;
EventDef.copyVerbatimStandardProps=ParsableModelMixin_1.default.copyVerbatimStandardProps;
return EventDef;
}());
exports.default=EventDef;
ParsableModelMixin_1.default.mixInto(EventDef);
EventDef.defineStandardProps({
_id: false,
id: false,
className: false,
source: false,
title: true,
url: true,
rendering: true,
constraint: true,
overlap: true,
editable: true,
startEditable: true,
durationEditable: true,
color: true,
backgroundColor: true,
borderColor: true,
textColor: true
});
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var EventRange_1=__webpack_require__(211);
var EventFootprint_1=__webpack_require__(36);
var ComponentFootprint_1=__webpack_require__(12);
function eventDefsToEventInstances(eventDefs, unzonedRange){
var eventInstances=[];
var i;
for (i=0; i < eventDefs.length; i++){
eventInstances.push.apply(eventInstances,
eventDefs[i].buildInstances(unzonedRange));
}
return eventInstances;
}
exports.eventDefsToEventInstances=eventDefsToEventInstances;
function eventInstanceToEventRange(eventInstance){
return new EventRange_1.default(eventInstance.dateProfile.unzonedRange, eventInstance.def, eventInstance);
}
exports.eventInstanceToEventRange=eventInstanceToEventRange;
function eventRangeToEventFootprint(eventRange){
return new EventFootprint_1.default(new ComponentFootprint_1.default(eventRange.unzonedRange, eventRange.eventDef.isAllDay()), eventRange.eventDef, eventRange.eventInstance
);
}
exports.eventRangeToEventFootprint=eventRangeToEventFootprint;
function eventInstanceToUnzonedRange(eventInstance){
return eventInstance.dateProfile.unzonedRange;
}
exports.eventInstanceToUnzonedRange=eventInstanceToUnzonedRange;
function eventFootprintToComponentFootprint(eventFootprint){
return eventFootprint.componentFootprint;
}
exports.eventFootprintToComponentFootprint=eventFootprintToComponentFootprint;
}),
(function(module, exports){
Object.defineProperty(exports, "__esModule", { value: true });
var EventFootprint= (function (){
function EventFootprint(componentFootprint, eventDef, eventInstance){
this.componentFootprint=componentFootprint;
this.eventDef=eventDef;
if(eventInstance){
this.eventInstance=eventInstance;
}}
EventFootprint.prototype.getEventLegacy=function (){
return (this.eventInstance||this.eventDef).toLegacy();
};
return EventFootprint;
}());
exports.default=EventFootprint;
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var util_1=__webpack_require__(4);
var EventDateProfile_1=__webpack_require__(17);
var EventDef_1=__webpack_require__(34);
var EventDefDateMutation_1=__webpack_require__(50);
var SingleEventDef_1=__webpack_require__(13);
var EventDefMutation= (function (){
function EventDefMutation(){
}
EventDefMutation.createFromRawProps=function (eventInstance, rawProps, largeUnit){
var eventDef=eventInstance.def;
var dateProps={};
var standardProps={};
var miscProps={};
var verbatimStandardProps={};
var eventDefId=null;
var className=null;
var propName;
var dateProfile;
var dateMutation;
var defMutation;
for (propName in rawProps){
if(EventDateProfile_1.default.isStandardProp(propName)){
dateProps[propName]=rawProps[propName];
}
else if(eventDef.isStandardProp(propName)){
standardProps[propName]=rawProps[propName];
}
else if(eventDef.miscProps[propName]!==rawProps[propName]){
miscProps[propName]=rawProps[propName];
}}
dateProfile=EventDateProfile_1.default.parse(dateProps, eventDef.source);
if(dateProfile){
dateMutation=EventDefDateMutation_1.default.createFromDiff(eventInstance.dateProfile, dateProfile, largeUnit);
}
if(standardProps.id!==eventDef.id){
eventDefId=standardProps.id;
}
if(!util_1.isArraysEqual(standardProps.className, eventDef.className)){
className=standardProps.className;
}
EventDef_1.default.copyVerbatimStandardProps(standardProps,
verbatimStandardProps
);
defMutation=new EventDefMutation();
defMutation.eventDefId=eventDefId;
defMutation.className=className;
defMutation.verbatimStandardProps=verbatimStandardProps;
defMutation.miscProps=miscProps;
if(dateMutation){
defMutation.dateMutation=dateMutation;
}
return defMutation;
};
EventDefMutation.prototype.mutateSingle=function (eventDef){
var origDateProfile;
if(this.dateMutation){
origDateProfile=eventDef.dateProfile;
eventDef.dateProfile=this.dateMutation.buildNewDateProfile(origDateProfile, eventDef.source.calendar);
}
if(this.eventDefId!=null){
eventDef.id=EventDef_1.default.normalizeId((eventDef.rawId=this.eventDefId));
}
if(this.className){
eventDef.className=this.className;
}
if(this.verbatimStandardProps){
SingleEventDef_1.default.copyVerbatimStandardProps(this.verbatimStandardProps,
eventDef
);
}
if(this.miscProps){
eventDef.applyMiscProps(this.miscProps);
}
if(origDateProfile){
return function (){
eventDef.dateProfile=origDateProfile;
};}else{
return function (){ };}};
EventDefMutation.prototype.setDateMutation=function (dateMutation){
if(dateMutation&&!dateMutation.isEmpty()){
this.dateMutation=dateMutation;
}else{
this.dateMutation=null;
}};
EventDefMutation.prototype.isEmpty=function (){
return !this.dateMutation;
};
return EventDefMutation;
}());
exports.default=EventDefMutation;
}),
(function(module, exports){
Object.defineProperty(exports, "__esModule", { value: true });
exports.default={
sourceClasses: [],
registerClass: function (EventSourceClass){
this.sourceClasses.unshift(EventSourceClass);
},
parse: function (rawInput, calendar){
var sourceClasses=this.sourceClasses;
var i;
var eventSource;
for (i=0; i < sourceClasses.length; i++){
eventSource=sourceClasses[i].parse(rawInput, calendar);
if(eventSource){
return eventSource;
}}
}};
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1=__webpack_require__(2);
var $=__webpack_require__(3);
var util_1=__webpack_require__(4);
var Class_1=__webpack_require__(33);
var Scroller= (function (_super){
tslib_1.__extends(Scroller, _super);
function Scroller(options){
var _this=_super.call(this)||this;
options=options||{};
_this.overflowX=options.overflowX||options.overflow||'auto';
_this.overflowY=options.overflowY||options.overflow||'auto';
return _this;
}
Scroller.prototype.render=function (){
this.el=this.renderEl();
this.applyOverflow();
};
Scroller.prototype.renderEl=function (){
return (this.scrollEl=$('
'));
};
Scroller.prototype.clear=function (){
this.setHeight('auto');
this.applyOverflow();
};
Scroller.prototype.destroy=function (){
this.el.remove();
};
Scroller.prototype.applyOverflow=function (){
this.scrollEl.css({
'overflow-x': this.overflowX,
'overflow-y': this.overflowY
});
};
Scroller.prototype.lockOverflow=function (scrollbarWidths){
var overflowX=this.overflowX;
var overflowY=this.overflowY;
scrollbarWidths=scrollbarWidths||this.getScrollbarWidths();
if(overflowX==='auto'){
overflowX=(scrollbarWidths.top||scrollbarWidths.bottom ||
this.scrollEl[0].scrollWidth - 1 > this.scrollEl[0].clientWidth) ? 'scroll':'hidden';
}
if(overflowY==='auto'){
overflowY=(scrollbarWidths.left||scrollbarWidths.right ||
this.scrollEl[0].scrollHeight - 1 > this.scrollEl[0].clientHeight) ? 'scroll':'hidden';
}
this.scrollEl.css({ 'overflow-x': overflowX, 'overflow-y': overflowY });
};
Scroller.prototype.setHeight=function (height){
this.scrollEl.height(height);
};
Scroller.prototype.getScrollTop=function (){
return this.scrollEl.scrollTop();
};
Scroller.prototype.setScrollTop=function (top){
this.scrollEl.scrollTop(top);
};
Scroller.prototype.getClientWidth=function (){
return this.scrollEl[0].clientWidth;
};
Scroller.prototype.getClientHeight=function (){
return this.scrollEl[0].clientHeight;
};
Scroller.prototype.getScrollbarWidths=function (){
return util_1.getScrollbarWidths(this.scrollEl);
};
return Scroller;
}(Class_1.default));
exports.default=Scroller;
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1=__webpack_require__(2);
var $=__webpack_require__(3);
var util_1=__webpack_require__(4);
var DateComponent_1=__webpack_require__(219);
var GlobalEmitter_1=__webpack_require__(21);
var InteractiveDateComponent= (function (_super){
tslib_1.__extends(InteractiveDateComponent, _super);
function InteractiveDateComponent(_view, _options){
var _this=_super.call(this, _view, _options)||this;
_this.segSelector='.fc-event-container > *';
if(_this.dateSelectingClass){
_this.dateClicking=new _this.dateClickingClass(_this);
}
if(_this.dateSelectingClass){
_this.dateSelecting=new _this.dateSelectingClass(_this);
}
if(_this.eventPointingClass){
_this.eventPointing=new _this.eventPointingClass(_this);
}
if(_this.eventDraggingClass&&_this.eventPointing){
_this.eventDragging=new _this.eventDraggingClass(_this, _this.eventPointing);
}
if(_this.eventResizingClass&&_this.eventPointing){
_this.eventResizing=new _this.eventResizingClass(_this, _this.eventPointing);
}
if(_this.externalDroppingClass){
_this.externalDropping=new _this.externalDroppingClass(_this);
}
return _this;
}
InteractiveDateComponent.prototype.setElement=function (el){
_super.prototype.setElement.call(this, el);
if(this.dateClicking){
this.dateClicking.bindToEl(el);
}
if(this.dateSelecting){
this.dateSelecting.bindToEl(el);
}
this.bindAllSegHandlersToEl(el);
};
InteractiveDateComponent.prototype.removeElement=function (){
this.endInteractions();
_super.prototype.removeElement.call(this);
};
InteractiveDateComponent.prototype.executeEventUnrender=function (){
this.endInteractions();
_super.prototype.executeEventUnrender.call(this);
};
InteractiveDateComponent.prototype.bindGlobalHandlers=function (){
_super.prototype.bindGlobalHandlers.call(this);
if(this.externalDropping){
this.externalDropping.bindToDocument();
}};
InteractiveDateComponent.prototype.unbindGlobalHandlers=function (){
_super.prototype.unbindGlobalHandlers.call(this);
if(this.externalDropping){
this.externalDropping.unbindFromDocument();
}};
InteractiveDateComponent.prototype.bindDateHandlerToEl=function (el, name, handler){
var _this=this;
this.el.on(name, function (ev){
if(!$(ev.target).is(_this.segSelector + ':not(.fc-helper),' +
_this.segSelector + ':not(.fc-helper) *,' +
'.fc-more,' +
'a[data-goto]'
)){
return handler.call(_this, ev);
}});
};
InteractiveDateComponent.prototype.bindAllSegHandlersToEl=function (el){
[
this.eventPointing,
this.eventDragging,
this.eventResizing
].forEach(function (eventInteraction){
if(eventInteraction){
eventInteraction.bindToEl(el);
}});
};
InteractiveDateComponent.prototype.bindSegHandlerToEl=function (el, name, handler){
var _this=this;
el.on(name, this.segSelector, function (ev){
var segEl=$(ev.currentTarget);
if(!segEl.is('.fc-helper')){
var seg=segEl.data('fc-seg');
if(seg&&!_this.shouldIgnoreEventPointing()){
return handler.call(_this, seg, ev);
}}
});
};
InteractiveDateComponent.prototype.shouldIgnoreMouse=function (){
return GlobalEmitter_1.default.get().shouldIgnoreMouse();
};
InteractiveDateComponent.prototype.shouldIgnoreTouch=function (){
var view=this._getView();
return view.isSelected||view.selectedEvent;
};
InteractiveDateComponent.prototype.shouldIgnoreEventPointing=function (){
return (this.eventDragging&&this.eventDragging.isDragging) ||
(this.eventResizing&&this.eventResizing.isResizing);
};
InteractiveDateComponent.prototype.canStartSelection=function (seg, ev){
return util_1.getEvIsTouch(ev) &&
!this.canStartResize(seg, ev) &&
(this.isEventDefDraggable(seg.footprint.eventDef) ||
this.isEventDefResizable(seg.footprint.eventDef));
};
InteractiveDateComponent.prototype.canStartDrag=function (seg, ev){
return !this.canStartResize(seg, ev) &&
this.isEventDefDraggable(seg.footprint.eventDef);
};
InteractiveDateComponent.prototype.canStartResize=function (seg, ev){
var view=this._getView();
var eventDef=seg.footprint.eventDef;
return (!util_1.getEvIsTouch(ev)||view.isEventDefSelected(eventDef)) &&
this.isEventDefResizable(eventDef) &&
$(ev.target).is('.fc-resizer');
};
InteractiveDateComponent.prototype.endInteractions=function (){
[
this.dateClicking,
this.dateSelecting,
this.eventPointing,
this.eventDragging,
this.eventResizing
].forEach(function (interaction){
if(interaction){
interaction.end();
}});
};
InteractiveDateComponent.prototype.isEventDefDraggable=function (eventDef){
return this.isEventDefStartEditable(eventDef);
};
InteractiveDateComponent.prototype.isEventDefStartEditable=function (eventDef){
var isEditable=eventDef.isStartExplicitlyEditable();
if(isEditable==null){
isEditable=this.opt('eventStartEditable');
if(isEditable==null){
isEditable=this.isEventDefGenerallyEditable(eventDef);
}}
return isEditable;
};
InteractiveDateComponent.prototype.isEventDefGenerallyEditable=function (eventDef){
var isEditable=eventDef.isExplicitlyEditable();
if(isEditable==null){
isEditable=this.opt('editable');
}
return isEditable;
};
InteractiveDateComponent.prototype.isEventDefResizableFromStart=function (eventDef){
return this.opt('eventResizableFromStart')&&this.isEventDefResizable(eventDef);
};
InteractiveDateComponent.prototype.isEventDefResizableFromEnd=function (eventDef){
return this.isEventDefResizable(eventDef);
};
InteractiveDateComponent.prototype.isEventDefResizable=function (eventDef){
var isResizable=eventDef.isDurationExplicitlyEditable();
if(isResizable==null){
isResizable=this.opt('eventDurationEditable');
if(isResizable==null){
isResizable=this.isEventDefGenerallyEditable(eventDef);
}}
return isResizable;
};
InteractiveDateComponent.prototype.diffDates=function (a, b){
if(this.largeUnit){
return util_1.diffByUnit(a, b, this.largeUnit);
}else{
return util_1.diffDayTime(a, b);
}};
InteractiveDateComponent.prototype.isEventInstanceGroupAllowed=function (eventInstanceGroup){
var view=this._getView();
var dateProfile=this.dateProfile;
var eventFootprints=this.eventRangesToEventFootprints(eventInstanceGroup.getAllEventRanges());
var i;
for (i=0; i < eventFootprints.length; i++){
if(!dateProfile.validUnzonedRange.containsRange(eventFootprints[i].componentFootprint.unzonedRange)){
return false;
}}
return view.calendar.constraints.isEventInstanceGroupAllowed(eventInstanceGroup);
};
InteractiveDateComponent.prototype.isExternalInstanceGroupAllowed=function (eventInstanceGroup){
var view=this._getView();
var dateProfile=this.dateProfile;
var eventFootprints=this.eventRangesToEventFootprints(eventInstanceGroup.getAllEventRanges());
var i;
for (i=0; i < eventFootprints.length; i++){
if(!dateProfile.validUnzonedRange.containsRange(eventFootprints[i].componentFootprint.unzonedRange)){
return false;
}}
for (i=0; i < eventFootprints.length; i++){
if(!view.calendar.constraints.isSelectionFootprintAllowed(eventFootprints[i].componentFootprint)){
return false;
}}
return true;
};
return InteractiveDateComponent;
}(DateComponent_1.default));
exports.default=InteractiveDateComponent;
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1=__webpack_require__(2);
var $=__webpack_require__(3);
var moment=__webpack_require__(0);
var util_1=__webpack_require__(4);
var RenderQueue_1=__webpack_require__(218);
var DateProfileGenerator_1=__webpack_require__(221);
var InteractiveDateComponent_1=__webpack_require__(40);
var GlobalEmitter_1=__webpack_require__(21);
var UnzonedRange_1=__webpack_require__(5);
var View= (function (_super){
tslib_1.__extends(View, _super);
function View(calendar, viewSpec){
var _this=_super.call(this, null, viewSpec.options)||this;
_this.batchRenderDepth=0;
_this.isSelected=false;
_this.calendar=calendar;
_this.viewSpec=viewSpec;
_this.type=viewSpec.type;
_this.name=_this.type;
_this.initRenderQueue();
_this.initHiddenDays();
_this.dateProfileGenerator=new _this.dateProfileGeneratorClass(_this);
_this.bindBaseRenderHandlers();
_this.eventOrderSpecs=util_1.parseFieldSpecs(_this.opt('eventOrder'));
if(_this['initialize']){
_this['initialize']();
}
return _this;
}
View.prototype._getView=function (){
return this;
};
View.prototype.opt=function (name){
return this.options[name];
};
View.prototype.initRenderQueue=function (){
this.renderQueue=new RenderQueue_1.default({
event: this.opt('eventRenderWait')
});
this.renderQueue.on('start', this.onRenderQueueStart.bind(this));
this.renderQueue.on('stop', this.onRenderQueueStop.bind(this));
this.on('before:change', this.startBatchRender);
this.on('change', this.stopBatchRender);
};
View.prototype.onRenderQueueStart=function (){
this.calendar.freezeContentHeight();
this.addScroll(this.queryScroll());
};
View.prototype.onRenderQueueStop=function (){
if(this.calendar.updateViewSize()){
this.popScroll();
}
this.calendar.thawContentHeight();
};
View.prototype.startBatchRender=function (){
if(!(this.batchRenderDepth++)){
this.renderQueue.pause();
}};
View.prototype.stopBatchRender=function (){
if(!(--this.batchRenderDepth)){
this.renderQueue.resume();
}};
View.prototype.requestRender=function (func, namespace, actionType){
this.renderQueue.queue(func, namespace, actionType);
};
View.prototype.whenSizeUpdated=function (func){
if(this.renderQueue.isRunning){
this.renderQueue.one('stop', func.bind(this));
}else{
func.call(this);
}};
View.prototype.computeTitle=function (dateProfile){
var unzonedRange;
if(/^(year|month)$/.test(dateProfile.currentRangeUnit)){
unzonedRange=dateProfile.currentUnzonedRange;
}else{
unzonedRange=dateProfile.activeUnzonedRange;
}
return this.formatRange({
start: this.calendar.msToMoment(unzonedRange.startMs, dateProfile.isRangeAllDay),
end: this.calendar.msToMoment(unzonedRange.endMs, dateProfile.isRangeAllDay)
}, dateProfile.isRangeAllDay, this.opt('titleFormat')||this.computeTitleFormat(dateProfile), this.opt('titleRangeSeparator'));
};
View.prototype.computeTitleFormat=function (dateProfile){
var currentRangeUnit=dateProfile.currentRangeUnit;
if(currentRangeUnit==='year'){
return 'YYYY';
}
else if(currentRangeUnit==='month'){
return this.opt('monthYearFormat');
}
else if(dateProfile.currentUnzonedRange.as('days') > 1){
return 'll';
}else{
return 'LL';
}};
View.prototype.setDate=function (date){
var currentDateProfile=this.get('dateProfile');
var newDateProfile=this.dateProfileGenerator.build(date, undefined, true);
if(!currentDateProfile ||
!currentDateProfile.activeUnzonedRange.equals(newDateProfile.activeUnzonedRange)){
this.set('dateProfile', newDateProfile);
}};
View.prototype.unsetDate=function (){
this.unset('dateProfile');
};
View.prototype.fetchInitialEvents=function (dateProfile){
var calendar=this.calendar;
var forceAllDay=dateProfile.isRangeAllDay&&!this.usesMinMaxTime;
return calendar.requestEvents(calendar.msToMoment(dateProfile.activeUnzonedRange.startMs, forceAllDay), calendar.msToMoment(dateProfile.activeUnzonedRange.endMs, forceAllDay));
};
View.prototype.bindEventChanges=function (){
this.listenTo(this.calendar, 'eventsReset', this.resetEvents);
};
View.prototype.unbindEventChanges=function (){
this.stopListeningTo(this.calendar, 'eventsReset');
};
View.prototype.setEvents=function (eventsPayload){
this.set('currentEvents', eventsPayload);
this.set('hasEvents', true);
};
View.prototype.unsetEvents=function (){
this.unset('currentEvents');
this.unset('hasEvents');
};
View.prototype.resetEvents=function (eventsPayload){
this.startBatchRender();
this.unsetEvents();
this.setEvents(eventsPayload);
this.stopBatchRender();
};
View.prototype.requestDateRender=function (dateProfile){
var _this=this;
this.requestRender(function (){
_this.executeDateRender(dateProfile);
}, 'date', 'init');
};
View.prototype.requestDateUnrender=function (){
var _this=this;
this.requestRender(function (){
_this.executeDateUnrender();
}, 'date', 'destroy');
};
View.prototype.executeDateRender=function (dateProfile){
_super.prototype.executeDateRender.call(this, dateProfile);
if(this['render']){
this['render']();
}
this.trigger('datesRendered');
this.addScroll({ isDateInit: true });
this.startNowIndicator();
};
View.prototype.executeDateUnrender=function (){
this.unselect();
this.stopNowIndicator();
this.trigger('before:datesUnrendered');
if(this['destroy']){
this['destroy']();
}
_super.prototype.executeDateUnrender.call(this);
};
View.prototype.bindBaseRenderHandlers=function (){
var _this=this;
this.on('datesRendered', function (){
_this.whenSizeUpdated(_this.triggerViewRender);
});
this.on('before:datesUnrendered', function (){
_this.triggerViewDestroy();
});
};
View.prototype.triggerViewRender=function (){
this.publiclyTrigger('viewRender', {
context: this,
args: [this, this.el]
});
};
View.prototype.triggerViewDestroy=function (){
this.publiclyTrigger('viewDestroy', {
context: this,
args: [this, this.el]
});
};
View.prototype.requestEventsRender=function (eventsPayload){
var _this=this;
this.requestRender(function (){
_this.executeEventRender(eventsPayload);
_this.whenSizeUpdated(_this.triggerAfterEventsRendered);
}, 'event', 'init');
};
View.prototype.requestEventsUnrender=function (){
var _this=this;
this.requestRender(function (){
_this.triggerBeforeEventsDestroyed();
_this.executeEventUnrender();
}, 'event', 'destroy');
};
View.prototype.requestBusinessHoursRender=function (businessHourGenerator){
var _this=this;
this.requestRender(function (){
_this.renderBusinessHours(businessHourGenerator);
}, 'businessHours', 'init');
};
View.prototype.requestBusinessHoursUnrender=function (){
var _this=this;
this.requestRender(function (){
_this.unrenderBusinessHours();
}, 'businessHours', 'destroy');
};
View.prototype.bindGlobalHandlers=function (){
_super.prototype.bindGlobalHandlers.call(this);
this.listenTo(GlobalEmitter_1.default.get(), {
touchstart: this.processUnselect,
mousedown: this.handleDocumentMousedown
});
};
View.prototype.unbindGlobalHandlers=function (){
_super.prototype.unbindGlobalHandlers.call(this);
this.stopListeningTo(GlobalEmitter_1.default.get());
};
View.prototype.startNowIndicator=function (){
var _this=this;
var unit;
var update;
var delay;
if(this.opt('nowIndicator')){
unit=this.getNowIndicatorUnit();
if(unit){
update=util_1.proxy(this, 'updateNowIndicator');
this.initialNowDate=this.calendar.getNow();
this.initialNowQueriedMs=new Date().valueOf();
delay=this.initialNowDate.clone().startOf(unit).add(1, unit).valueOf() - this.initialNowDate.valueOf();
this.nowIndicatorTimeoutID=setTimeout(function (){
_this.nowIndicatorTimeoutID=null;
update();
delay=+moment.duration(1, unit);
delay=Math.max(100, delay);
_this.nowIndicatorIntervalID=setInterval(update, delay);
}, delay);
}}
};
View.prototype.updateNowIndicator=function (){
if(this.isDatesRendered &&
this.initialNowDate
){
this.unrenderNowIndicator();
this.renderNowIndicator(this.initialNowDate.clone().add(new Date().valueOf() - this.initialNowQueriedMs)
);
this.isNowIndicatorRendered=true;
}};
View.prototype.stopNowIndicator=function (){
if(this.isNowIndicatorRendered){
if(this.nowIndicatorTimeoutID){
clearTimeout(this.nowIndicatorTimeoutID);
this.nowIndicatorTimeoutID=null;
}
if(this.nowIndicatorIntervalID){
clearInterval(this.nowIndicatorIntervalID);
this.nowIndicatorIntervalID=null;
}
this.unrenderNowIndicator();
this.isNowIndicatorRendered=false;
}};
View.prototype.updateSize=function (totalHeight, isAuto, isResize){
if(this['setHeight']){
this['setHeight'](totalHeight, isAuto);
}else{
_super.prototype.updateSize.call(this, totalHeight, isAuto, isResize);
}
this.updateNowIndicator();
};
View.prototype.addScroll=function (scroll){
var queuedScroll=this.queuedScroll||(this.queuedScroll={});
$.extend(queuedScroll, scroll);
};
View.prototype.popScroll=function (){
this.applyQueuedScroll();
this.queuedScroll=null;
};
View.prototype.applyQueuedScroll=function (){
if(this.queuedScroll){
this.applyScroll(this.queuedScroll);
}};
View.prototype.queryScroll=function (){
var scroll={};
if(this.isDatesRendered){
$.extend(scroll, this.queryDateScroll());
}
return scroll;
};
View.prototype.applyScroll=function (scroll){
if(scroll.isDateInit&&this.isDatesRendered){
$.extend(scroll, this.computeInitialDateScroll());
}
if(this.isDatesRendered){
this.applyDateScroll(scroll);
}};
View.prototype.computeInitialDateScroll=function (){
return {};};
View.prototype.queryDateScroll=function (){
return {};};
View.prototype.applyDateScroll=function (scroll){
};
View.prototype.reportEventDrop=function (eventInstance, eventMutation, el, ev){
var eventManager=this.calendar.eventManager;
var undoFunc=eventManager.mutateEventsWithId(eventInstance.def.id, eventMutation);
var dateMutation=eventMutation.dateMutation;
if(dateMutation){
eventInstance.dateProfile=dateMutation.buildNewDateProfile(eventInstance.dateProfile, this.calendar);
}
this.triggerEventDrop(eventInstance,
(dateMutation&&dateMutation.dateDelta)||moment.duration(), undoFunc, el, ev);
};
View.prototype.triggerEventDrop=function (eventInstance, dateDelta, undoFunc, el, ev){
this.publiclyTrigger('eventDrop', {
context: el[0],
args: [
eventInstance.toLegacy(),
dateDelta,
undoFunc,
ev,
{},
this
]
});
};
View.prototype.reportExternalDrop=function (singleEventDef, isEvent, isSticky, el, ev, ui){
if(isEvent){
this.calendar.eventManager.addEventDef(singleEventDef, isSticky);
}
this.triggerExternalDrop(singleEventDef, isEvent, el, ev, ui);
};
View.prototype.triggerExternalDrop=function (singleEventDef, isEvent, el, ev, ui){
this.publiclyTrigger('drop', {
context: el[0],
args: [
singleEventDef.dateProfile.start.clone(),
ev,
ui,
this
]
});
if(isEvent){
this.publiclyTrigger('eventReceive', {
context: this,
args: [
singleEventDef.buildInstance().toLegacy(),
this
]
});
}};
View.prototype.reportEventResize=function (eventInstance, eventMutation, el, ev){
var eventManager=this.calendar.eventManager;
var undoFunc=eventManager.mutateEventsWithId(eventInstance.def.id, eventMutation);
eventInstance.dateProfile=eventMutation.dateMutation.buildNewDateProfile(eventInstance.dateProfile, this.calendar);
this.triggerEventResize(eventInstance, eventMutation.dateMutation.endDelta, undoFunc, el, ev);
};
View.prototype.triggerEventResize=function (eventInstance, durationDelta, undoFunc, el, ev){
this.publiclyTrigger('eventResize', {
context: el[0],
args: [
eventInstance.toLegacy(),
durationDelta,
undoFunc,
ev,
{},
this
]
});
};
View.prototype.select=function (footprint, ev){
this.unselect(ev);
this.renderSelectionFootprint(footprint);
this.reportSelection(footprint, ev);
};
View.prototype.renderSelectionFootprint=function (footprint){
if(this['renderSelection']){
this['renderSelection'](footprint.toLegacy(this.calendar));
}else{
_super.prototype.renderSelectionFootprint.call(this, footprint);
}};
View.prototype.reportSelection=function (footprint, ev){
this.isSelected=true;
this.triggerSelect(footprint, ev);
};
View.prototype.triggerSelect=function (footprint, ev){
var dateProfile=this.calendar.footprintToDateProfile(footprint);
this.publiclyTrigger('select', {
context: this,
args: [
dateProfile.start,
dateProfile.end,
ev,
this
]
});
};
View.prototype.unselect=function (ev){
if(this.isSelected){
this.isSelected=false;
if(this['destroySelection']){
this['destroySelection']();
}
this.unrenderSelection();
this.publiclyTrigger('unselect', {
context: this,
args: [ev, this]
});
}};
View.prototype.selectEventInstance=function (eventInstance){
if(!this.selectedEventInstance ||
this.selectedEventInstance!==eventInstance){
this.unselectEventInstance();
this.getEventSegs().forEach(function (seg){
if(seg.footprint.eventInstance===eventInstance &&
seg.el
){
seg.el.addClass('fc-selected');
}});
this.selectedEventInstance=eventInstance;
}};
View.prototype.unselectEventInstance=function (){
if(this.selectedEventInstance){
this.getEventSegs().forEach(function (seg){
if(seg.el){
seg.el.removeClass('fc-selected');
}});
this.selectedEventInstance=null;
}};
View.prototype.isEventDefSelected=function (eventDef){
return this.selectedEventInstance&&this.selectedEventInstance.def.id===eventDef.id;
};
View.prototype.handleDocumentMousedown=function (ev){
if(util_1.isPrimaryMouseButton(ev)){
this.processUnselect(ev);
}};
View.prototype.processUnselect=function (ev){
this.processRangeUnselect(ev);
this.processEventUnselect(ev);
};
View.prototype.processRangeUnselect=function (ev){
var ignore;
if(this.isSelected&&this.opt('unselectAuto')){
ignore=this.opt('unselectCancel');
if(!ignore||!$(ev.target).closest(ignore).length){
this.unselect(ev);
}}
};
View.prototype.processEventUnselect=function (ev){
if(this.selectedEventInstance){
if(!$(ev.target).closest('.fc-selected').length){
this.unselectEventInstance();
}}
};
View.prototype.triggerBaseRendered=function (){
this.publiclyTrigger('viewRender', {
context: this,
args: [this, this.el]
});
};
View.prototype.triggerBaseUnrendered=function (){
this.publiclyTrigger('viewDestroy', {
context: this,
args: [this, this.el]
});
};
View.prototype.triggerDayClick=function (footprint, dayEl, ev){
var dateProfile=this.calendar.footprintToDateProfile(footprint);
this.publiclyTrigger('dayClick', {
context: dayEl,
args: [dateProfile.start, ev, this]
});
};
View.prototype.isDateInOtherMonth=function (date, dateProfile){
return false;
};
View.prototype.getUnzonedRangeOption=function (name){
var val=this.opt(name);
if(typeof val==='function'){
val=val.apply(null, Array.prototype.slice.call(arguments, 1));
}
if(val){
return this.calendar.parseUnzonedRange(val);
}};
View.prototype.initHiddenDays=function (){
var hiddenDays=this.opt('hiddenDays')||[];
var isHiddenDayHash=[];
var dayCnt=0;
var i;
if(this.opt('weekends')===false){
hiddenDays.push(0, 6);
}
for (i=0; i < 7; i++){
if(!(isHiddenDayHash[i]=$.inArray(i, hiddenDays)!==-1)){
dayCnt++;
}}
if(!dayCnt){
throw new Error('invalid hiddenDays');
}
this.isHiddenDayHash=isHiddenDayHash;
};
View.prototype.trimHiddenDays=function (inputUnzonedRange){
var start=inputUnzonedRange.getStart();
var end=inputUnzonedRange.getEnd();
if(start){
start=this.skipHiddenDays(start);
}
if(end){
end=this.skipHiddenDays(end, -1, true);
}
if(start===null||end===null||start < end){
return new UnzonedRange_1.default(start, end);
}
return null;
};
View.prototype.isHiddenDay=function (day){
if(moment.isMoment(day)){
day=day.day();
}
return this.isHiddenDayHash[day];
};
View.prototype.skipHiddenDays=function (date, inc, isExclusive){
if(inc===void 0){ inc=1; }
if(isExclusive===void 0){ isExclusive=false; }
var out=date.clone();
while (this.isHiddenDayHash[(out.day() + (isExclusive ? inc:0) + 7) % 7]){
out.add(inc, 'days');
}
return out;
};
return View;
}(InteractiveDateComponent_1.default));
exports.default=View;
View.prototype.usesMinMaxTime=false;
View.prototype.dateProfileGeneratorClass=DateProfileGenerator_1.default;
View.watch('displayingDates', ['isInDom', 'dateProfile'], function (deps){
this.requestDateRender(deps.dateProfile);
}, function (){
this.requestDateUnrender();
});
View.watch('displayingBusinessHours', ['displayingDates', 'businessHourGenerator'], function (deps){
this.requestBusinessHoursRender(deps.businessHourGenerator);
}, function (){
this.requestBusinessHoursUnrender();
});
View.watch('initialEvents', ['dateProfile'], function (deps){
return this.fetchInitialEvents(deps.dateProfile);
});
View.watch('bindingEvents', ['initialEvents'], function (deps){
this.setEvents(deps.initialEvents);
this.bindEventChanges();
}, function (){
this.unbindEventChanges();
this.unsetEvents();
});
View.watch('displayingEvents', ['displayingDates', 'hasEvents'], function (){
this.requestEventsRender(this.get('currentEvents'));
}, function (){
this.requestEventsUnrender();
});
View.watch('title', ['dateProfile'], function (deps){
return (this.title=this.computeTitle(deps.dateProfile));
});
View.watch('legacyDateProps', ['dateProfile'], function (deps){
var calendar=this.calendar;
var dateProfile=deps.dateProfile;
this.start=calendar.msToMoment(dateProfile.activeUnzonedRange.startMs, dateProfile.isRangeAllDay);
this.end=calendar.msToMoment(dateProfile.activeUnzonedRange.endMs, dateProfile.isRangeAllDay);
this.intervalStart=calendar.msToMoment(dateProfile.currentUnzonedRange.startMs, dateProfile.isRangeAllDay);
this.intervalEnd=calendar.msToMoment(dateProfile.currentUnzonedRange.endMs, dateProfile.isRangeAllDay);
});
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var $=__webpack_require__(3);
var util_1=__webpack_require__(4);
var EventRenderer= (function (){
function EventRenderer(component, fillRenderer){
this.view=component._getView();
this.component=component;
this.fillRenderer=fillRenderer;
}
EventRenderer.prototype.opt=function (name){
return this.view.opt(name);
};
EventRenderer.prototype.rangeUpdated=function (){
var displayEventTime;
var displayEventEnd;
this.eventTimeFormat =
this.opt('eventTimeFormat') ||
this.opt('timeFormat') ||
this.computeEventTimeFormat();
displayEventTime=this.opt('displayEventTime');
if(displayEventTime==null){
displayEventTime=this.computeDisplayEventTime();
}
displayEventEnd=this.opt('displayEventEnd');
if(displayEventEnd==null){
displayEventEnd=this.computeDisplayEventEnd();
}
this.displayEventTime=displayEventTime;
this.displayEventEnd=displayEventEnd;
};
EventRenderer.prototype.render=function (eventsPayload){
var dateProfile=this.component._getDateProfile();
var eventDefId;
var instanceGroup;
var eventRanges;
var bgRanges=[];
var fgRanges=[];
for (eventDefId in eventsPayload){
instanceGroup=eventsPayload[eventDefId];
eventRanges=instanceGroup.sliceRenderRanges(dateProfile.activeUnzonedRange);
if(instanceGroup.getEventDef().hasBgRendering()){
bgRanges.push.apply(bgRanges, eventRanges);
}else{
fgRanges.push.apply(fgRanges, eventRanges);
}}
this.renderBgRanges(bgRanges);
this.renderFgRanges(fgRanges);
};
EventRenderer.prototype.unrender=function (){
this.unrenderBgRanges();
this.unrenderFgRanges();
};
EventRenderer.prototype.renderFgRanges=function (eventRanges){
var eventFootprints=this.component.eventRangesToEventFootprints(eventRanges);
var segs=this.component.eventFootprintsToSegs(eventFootprints);
segs=this.renderFgSegEls(segs);
if(this.renderFgSegs(segs)!==false){
this.fgSegs=segs;
}};
EventRenderer.prototype.unrenderFgRanges=function (){
this.unrenderFgSegs(this.fgSegs||[]);
this.fgSegs=null;
};
EventRenderer.prototype.renderBgRanges=function (eventRanges){
var eventFootprints=this.component.eventRangesToEventFootprints(eventRanges);
var segs=this.component.eventFootprintsToSegs(eventFootprints);
if(this.renderBgSegs(segs)!==false){
this.bgSegs=segs;
}};
EventRenderer.prototype.unrenderBgRanges=function (){
this.unrenderBgSegs();
this.bgSegs=null;
};
EventRenderer.prototype.getSegs=function (){
return (this.bgSegs||[]).concat(this.fgSegs||[]);
};
EventRenderer.prototype.renderFgSegs=function (segs){
return false;
};
EventRenderer.prototype.unrenderFgSegs=function (segs){
};
EventRenderer.prototype.renderBgSegs=function (segs){
var _this=this;
if(this.fillRenderer){
this.fillRenderer.renderSegs('bgEvent', segs, {
getClasses: function (seg){
return _this.getBgClasses(seg.footprint.eventDef);
},
getCss: function (seg){
return {
'background-color': _this.getBgColor(seg.footprint.eventDef)
};},
filterEl: function (seg, el){
return _this.filterEventRenderEl(seg.footprint, el);
}});
}else{
return false;
}};
EventRenderer.prototype.unrenderBgSegs=function (){
if(this.fillRenderer){
this.fillRenderer.unrender('bgEvent');
}};
EventRenderer.prototype.renderFgSegEls=function (segs, disableResizing){
var _this=this;
if(disableResizing===void 0){ disableResizing=false; }
var hasEventRenderHandlers=this.view.hasPublicHandlers('eventRender');
var html='';
var renderedSegs=[];
var i;
if(segs.length){
for (i=0; i < segs.length; i++){
this.beforeFgSegHtml(segs[i]);
html +=this.fgSegHtml(segs[i], disableResizing);
}
$(html).each(function (i, node){
var seg=segs[i];
var el=$(node);
if(hasEventRenderHandlers){
el=_this.filterEventRenderEl(seg.footprint, el);
}
if(el){
el.data('fc-seg', seg);
seg.el=el;
renderedSegs.push(seg);
}});
}
return renderedSegs;
};
EventRenderer.prototype.beforeFgSegHtml=function (seg){
};
EventRenderer.prototype.fgSegHtml=function (seg, disableResizing){
};
EventRenderer.prototype.getSegClasses=function (seg, isDraggable, isResizable){
var classes=[
'fc-event',
seg.isStart ? 'fc-start':'fc-not-start',
seg.isEnd ? 'fc-end':'fc-not-end'
].concat(this.getClasses(seg.footprint.eventDef));
if(isDraggable){
classes.push('fc-draggable');
}
if(isResizable){
classes.push('fc-resizable');
}
if(this.view.isEventDefSelected(seg.footprint.eventDef)){
classes.push('fc-selected');
}
return classes;
};
EventRenderer.prototype.filterEventRenderEl=function (eventFootprint, el){
var legacy=eventFootprint.getEventLegacy();
var custom=this.view.publiclyTrigger('eventRender', {
context: legacy,
args: [legacy, el, this.view]
});
if(custom===false){
el=null;
}
else if(custom&&custom!==true){
el=$(custom);
}
return el;
};
EventRenderer.prototype.getTimeText=function (eventFootprint, formatStr, displayEnd){
return this._getTimeText(eventFootprint.eventInstance.dateProfile.start, eventFootprint.eventInstance.dateProfile.end, eventFootprint.componentFootprint.isAllDay, formatStr, displayEnd);
};
EventRenderer.prototype._getTimeText=function (start, end, isAllDay, formatStr, displayEnd){
if(formatStr==null){
formatStr=this.eventTimeFormat;
}
if(displayEnd==null){
displayEnd=this.displayEventEnd;
}
if(this.displayEventTime&&!isAllDay){
if(displayEnd&&end){
return this.view.formatRange({ start: start, end: end }, false,
formatStr);
}else{
return start.format(formatStr);
}}
return '';
};
EventRenderer.prototype.computeEventTimeFormat=function (){
return this.opt('smallTimeFormat');
};
EventRenderer.prototype.computeDisplayEventTime=function (){
return true;
};
EventRenderer.prototype.computeDisplayEventEnd=function (){
return true;
};
EventRenderer.prototype.getBgClasses=function (eventDef){
var classNames=this.getClasses(eventDef);
classNames.push('fc-bgevent');
return classNames;
};
EventRenderer.prototype.getClasses=function (eventDef){
var objs=this.getStylingObjs(eventDef);
var i;
var classNames=[];
for (i=0; i < objs.length; i++){
classNames.push.apply(classNames, objs[i].eventClassName||objs[i].className||[]);
}
return classNames;
};
EventRenderer.prototype.getSkinCss=function (eventDef){
return {
'background-color': this.getBgColor(eventDef),
'border-color': this.getBorderColor(eventDef),
color: this.getTextColor(eventDef)
};};
EventRenderer.prototype.getBgColor=function (eventDef){
var objs=this.getStylingObjs(eventDef);
var i;
var val;
for (i=0; i < objs.length&&!val; i++){
val=objs[i].eventBackgroundColor||objs[i].eventColor ||
objs[i].backgroundColor||objs[i].color;
}
if(!val){
val=this.opt('eventBackgroundColor')||this.opt('eventColor');
}
return val;
};
EventRenderer.prototype.getBorderColor=function (eventDef){
var objs=this.getStylingObjs(eventDef);
var i;
var val;
for (i=0; i < objs.length&&!val; i++){
val=objs[i].eventBorderColor||objs[i].eventColor ||
objs[i].borderColor||objs[i].color;
}
if(!val){
val=this.opt('eventBorderColor')||this.opt('eventColor');
}
return val;
};
EventRenderer.prototype.getTextColor=function (eventDef){
var objs=this.getStylingObjs(eventDef);
var i;
var val;
for (i=0; i < objs.length&&!val; i++){
val=objs[i].eventTextColor ||
objs[i].textColor;
}
if(!val){
val=this.opt('eventTextColor');
}
return val;
};
EventRenderer.prototype.getStylingObjs=function (eventDef){
var objs=this.getFallbackStylingObjs(eventDef);
objs.unshift(eventDef);
return objs;
};
EventRenderer.prototype.getFallbackStylingObjs=function (eventDef){
return [eventDef.source];
};
EventRenderer.prototype.sortEventSegs=function (segs){
segs.sort(util_1.proxy(this, 'compareEventSegs'));
};
EventRenderer.prototype.compareEventSegs=function (seg1, seg2){
var f1=seg1.footprint;
var f2=seg2.footprint;
var cf1=f1.componentFootprint;
var cf2=f2.componentFootprint;
var r1=cf1.unzonedRange;
var r2=cf2.unzonedRange;
return r1.startMs - r2.startMs ||
(r2.endMs - r2.startMs) - (r1.endMs - r1.startMs) ||
cf2.isAllDay - cf1.isAllDay ||
util_1.compareByFieldSpecs(f1.eventDef, f2.eventDef, this.view.eventOrderSpecs, f1.eventDef.miscProps, f2.eventDef.miscProps);
};
return EventRenderer;
}());
exports.default=EventRenderer;
}),
,
,
,
,
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var moment_ext_1=__webpack_require__(10);
moment_ext_1.newMomentProto.format=function (){
if(this._fullCalendar&&arguments[0]){
return formatDate(this, arguments[0]);
}
if(this._ambigTime){
return moment_ext_1.oldMomentFormat(englishMoment(this), 'YYYY-MM-DD');
}
if(this._ambigZone){
return moment_ext_1.oldMomentFormat(englishMoment(this), 'YYYY-MM-DD[T]HH:mm:ss');
}
if(this._fullCalendar){
return moment_ext_1.oldMomentFormat(englishMoment(this));
}
return moment_ext_1.oldMomentProto.format.apply(this, arguments);
};
moment_ext_1.newMomentProto.toISOString=function (){
if(this._ambigTime){
return moment_ext_1.oldMomentFormat(englishMoment(this), 'YYYY-MM-DD');
}
if(this._ambigZone){
return moment_ext_1.oldMomentFormat(englishMoment(this), 'YYYY-MM-DD[T]HH:mm:ss');
}
if(this._fullCalendar){
return moment_ext_1.oldMomentProto.toISOString.apply(englishMoment(this), arguments);
}
return moment_ext_1.oldMomentProto.toISOString.apply(this, arguments);
};
function englishMoment(mom){
if(mom.locale()!=='en'){
return mom.clone().locale('en');
}
return mom;
}
var PART_SEPARATOR='\u000b';
var SPECIAL_TOKEN_MARKER='\u001f';
var MAYBE_MARKER='\u001e';
var MAYBE_REGEXP=new RegExp(MAYBE_MARKER + '([^' + MAYBE_MARKER + ']*)' + MAYBE_MARKER, 'g');
var specialTokens={
t: function (date){
return moment_ext_1.oldMomentFormat(date, 'a').charAt(0);
},
T: function (date){
return moment_ext_1.oldMomentFormat(date, 'A').charAt(0);
}};
var largeTokenMap={
Y: { value: 1, unit: 'year' },
M: { value: 2, unit: 'month' },
W: { value: 3, unit: 'week' },
w: { value: 3, unit: 'week' },
D: { value: 4, unit: 'day' },
d: { value: 4, unit: 'day' }};
function formatDate(date, formatStr){
return renderFakeFormatString(getParsedFormatString(formatStr).fakeFormatString, date);
}
exports.formatDate=formatDate;
function formatRange(date1, date2, formatStr, separator, isRTL){
var localeData;
date1=moment_ext_1.default.parseZone(date1);
date2=moment_ext_1.default.parseZone(date2);
localeData=date1.localeData();
formatStr=localeData.longDateFormat(formatStr)||formatStr;
return renderParsedFormat(getParsedFormatString(formatStr), date1, date2, separator||' - ', isRTL);
}
exports.formatRange=formatRange;
function renderParsedFormat(parsedFormat, date1, date2, separator, isRTL){
var sameUnits=parsedFormat.sameUnits;
var unzonedDate1=date1.clone().stripZone();
var unzonedDate2=date2.clone().stripZone(); // "
var renderedParts1=renderFakeFormatStringParts(parsedFormat.fakeFormatString, date1);
var renderedParts2=renderFakeFormatStringParts(parsedFormat.fakeFormatString, date2);
var leftI;
var leftStr='';
var rightI;
var rightStr='';
var middleI;
var middleStr1='';
var middleStr2='';
var middleStr='';
for (leftI=0; leftI < sameUnits.length&&(!sameUnits[leftI]||unzonedDate1.isSame(unzonedDate2, sameUnits[leftI])); leftI++){
leftStr +=renderedParts1[leftI];
}
for (rightI=sameUnits.length - 1; rightI > leftI&&(!sameUnits[rightI]||unzonedDate1.isSame(unzonedDate2, sameUnits[rightI])); rightI--){
if(rightI - 1===leftI&&renderedParts1[rightI]==='.'){
break;
}
rightStr=renderedParts1[rightI] + rightStr;
}
for (middleI=leftI; middleI <=rightI; middleI++){
middleStr1 +=renderedParts1[middleI];
middleStr2 +=renderedParts2[middleI];
}
if(middleStr1||middleStr2){
if(isRTL){
middleStr=middleStr2 + separator + middleStr1;
}else{
middleStr=middleStr1 + separator + middleStr2;
}}
return processMaybeMarkers(leftStr + middleStr + rightStr);
}
var parsedFormatStrCache={};
function getParsedFormatString(formatStr){
return parsedFormatStrCache[formatStr] ||
(parsedFormatStrCache[formatStr]=parseFormatString(formatStr));
}
function parseFormatString(formatStr){
var chunks=chunkFormatString(formatStr);
return {
fakeFormatString: buildFakeFormatString(chunks),
sameUnits: buildSameUnits(chunks)
};}
function chunkFormatString(formatStr){
var chunks=[];
var match;
var chunker=/\[([^\]]*)\]|\(([^\)]*)\)|(LTS|LT|(\w)\4*o?)|([^\w\[\(]+)/g;
while ((match=chunker.exec(formatStr))){
if(match[1]){
chunks.push.apply(chunks,
splitStringLiteral(match[1]));
}
else if(match[2]){
chunks.push({ maybe: chunkFormatString(match[2]) });
}
else if(match[3]){
chunks.push({ token: match[3] });
}
else if(match[5]){
chunks.push.apply(chunks,
splitStringLiteral(match[5]));
}}
return chunks;
}
function splitStringLiteral(s){
if(s==='. '){
return ['.', ' '];
}else{
return [s];
}}
function buildFakeFormatString(chunks){
var parts=[];
var i;
var chunk;
for (i=0; i < chunks.length; i++){
chunk=chunks[i];
if(typeof chunk==='string'){
parts.push('[' + chunk + ']');
}
else if(chunk.token){
if(chunk.token in specialTokens){
parts.push(SPECIAL_TOKEN_MARKER +
'[' + chunk.token + ']'
);
}else{
parts.push(chunk.token);
}}
else if(chunk.maybe){
parts.push(MAYBE_MARKER +
buildFakeFormatString(chunk.maybe) +
MAYBE_MARKER);
}}
return parts.join(PART_SEPARATOR);
}
function buildSameUnits(chunks){
var units=[];
var i;
var chunk;
var tokenInfo;
for (i=0; i < chunks.length; i++){
chunk=chunks[i];
if(chunk.token){
tokenInfo=largeTokenMap[chunk.token.charAt(0)];
units.push(tokenInfo ? tokenInfo.unit:'second');
}
else if(chunk.maybe){
units.push.apply(units,
buildSameUnits(chunk.maybe));
}else{
units.push(null);
}}
return units;
}
function renderFakeFormatString(fakeFormatString, date){
return processMaybeMarkers(renderFakeFormatStringParts(fakeFormatString, date).join(''));
}
function renderFakeFormatStringParts(fakeFormatString, date){
var parts=[];
var fakeRender=moment_ext_1.oldMomentFormat(date, fakeFormatString);
var fakeParts=fakeRender.split(PART_SEPARATOR);
var i;
var fakePart;
for (i=0; i < fakeParts.length; i++){
fakePart=fakeParts[i];
if(fakePart.charAt(0)===SPECIAL_TOKEN_MARKER){
parts.push(specialTokens[fakePart.substring(1)](date));
}else{
parts.push(fakePart);
}}
return parts;
}
function processMaybeMarkers(s){
return s.replace(MAYBE_REGEXP, function (m0, m1){
if(m1.match(/[1-9]/)){
return m1;
}else{
return '';
}});
}
function queryMostGranularFormatUnit(formatStr){
var chunks=chunkFormatString(formatStr);
var i;
var chunk;
var candidate;
var best;
for (i=0; i < chunks.length; i++){
chunk=chunks[i];
if(chunk.token){
candidate=largeTokenMap[chunk.token.charAt(0)];
if(candidate){
if(!best||candidate.value > best.value){
best=candidate;
}}
}}
if(best){
return best.unit;
}
return null;
}
exports.queryMostGranularFormatUnit=queryMostGranularFormatUnit;
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1=__webpack_require__(2);
var Class_1=__webpack_require__(33);
var EmitterMixin_1=__webpack_require__(11);
var ListenerMixin_1=__webpack_require__(7);
var Model= (function (_super){
tslib_1.__extends(Model, _super);
function Model(){
var _this=_super.call(this)||this;
_this._watchers={};
_this._props={};
_this.applyGlobalWatchers();
_this.constructed();
return _this;
}
Model.watch=function (name){
var args=[];
for (var _i=1; _i < arguments.length; _i++){
args[_i - 1]=arguments[_i];
}
if(!this.prototype.hasOwnProperty('_globalWatchArgs')){
this.prototype._globalWatchArgs=Object.create(this.prototype._globalWatchArgs);
}
this.prototype._globalWatchArgs[name]=args;
};
Model.prototype.constructed=function (){
};
Model.prototype.applyGlobalWatchers=function (){
var map=this._globalWatchArgs;
var name;
for (name in map){
this.watch.apply(this, [name].concat(map[name]));
}};
Model.prototype.has=function (name){
return name in this._props;
};
Model.prototype.get=function (name){
if(name===undefined){
return this._props;
}
return this._props[name];
};
Model.prototype.set=function (name, val){
var newProps;
if(typeof name==='string'){
newProps={};
newProps[name]=val===undefined ? null:val;
}else{
newProps=name;
}
this.setProps(newProps);
};
Model.prototype.reset=function (newProps){
var oldProps=this._props;
var changeset={};
var name;
for (name in oldProps){
changeset[name]=undefined;
}
for (name in newProps){
changeset[name]=newProps[name];
}
this.setProps(changeset);
};
Model.prototype.unset=function (name){
var newProps={};
var names;
var i;
if(typeof name==='string'){
names=[name];
}else{
names=name;
}
for (i=0; i < names.length; i++){
newProps[names[i]]=undefined;
}
this.setProps(newProps);
};
Model.prototype.setProps=function (newProps){
var changedProps={};
var changedCnt=0;
var name;
var val;
for (name in newProps){
val=newProps[name];
if(typeof val==='object' ||
val!==this._props[name]){
changedProps[name]=val;
changedCnt++;
}}
if(changedCnt){
this.trigger('before:batchChange', changedProps);
for (name in changedProps){
val=changedProps[name];
this.trigger('before:change', name, val);
this.trigger('before:change:' + name, val);
}
for (name in changedProps){
val=changedProps[name];
if(val===undefined){
delete this._props[name];
}else{
this._props[name]=val;
}
this.trigger('change:' + name, val);
this.trigger('change', name, val);
}
this.trigger('batchChange', changedProps);
}};
Model.prototype.watch=function (name, depList, startFunc, stopFunc){
var _this=this;
this.unwatch(name);
this._watchers[name]=this._watchDeps(depList, function (deps){
var res=startFunc.call(_this, deps);
if(res&&res.then){
_this.unset(name);
res.then(function (val){
_this.set(name, val);
});
}else{
_this.set(name, res);
}}, function (deps){
_this.unset(name);
if(stopFunc){
stopFunc.call(_this, deps);
}});
};
Model.prototype.unwatch=function (name){
var watcher=this._watchers[name];
if(watcher){
delete this._watchers[name];
watcher.teardown();
}};
Model.prototype._watchDeps=function (depList, startFunc, stopFunc){
var _this=this;
var queuedChangeCnt=0;
var depCnt=depList.length;
var satisfyCnt=0;
var values={};
var bindTuples=[];
var isCallingStop=false;
var onBeforeDepChange=function (depName, val, isOptional){
queuedChangeCnt++;
if(queuedChangeCnt===1){
if(satisfyCnt===depCnt){
isCallingStop=true;
stopFunc(values);
isCallingStop=false;
}}
};
var onDepChange=function (depName, val, isOptional){
if(val===undefined){
if(!isOptional&&values[depName]!==undefined){
satisfyCnt--;
}
delete values[depName];
}else{
if(!isOptional&&values[depName]===undefined){
satisfyCnt++;
}
values[depName]=val;
}
queuedChangeCnt--;
if(!queuedChangeCnt){
if(satisfyCnt===depCnt){
if(!isCallingStop){
startFunc(values);
}}
}};
var bind=function (eventName, handler){
_this.on(eventName, handler);
bindTuples.push([eventName, handler]);
};
depList.forEach(function (depName){
var isOptional=false;
if(depName.charAt(0)==='?'){
depName=depName.substring(1);
isOptional=true;
}
bind('before:change:' + depName, function (val){
onBeforeDepChange(depName, val, isOptional);
});
bind('change:' + depName, function (val){
onDepChange(depName, val, isOptional);
});
});
depList.forEach(function (depName){
var isOptional=false;
if(depName.charAt(0)==='?'){
depName=depName.substring(1);
isOptional=true;
}
if(_this.has(depName)){
values[depName]=_this.get(depName);
satisfyCnt++;
}
else if(isOptional){
satisfyCnt++;
}});
if(satisfyCnt===depCnt){
startFunc(values);
}
return {
teardown: function (){
for (var i=0; i < bindTuples.length; i++){
_this.off(bindTuples[i][0], bindTuples[i][1]);
}
bindTuples=null;
if(satisfyCnt===depCnt){
stopFunc();
}},
flash: function (){
if(satisfyCnt===depCnt){
stopFunc();
startFunc(values);
}}
};};
Model.prototype.flash=function (name){
var watcher=this._watchers[name];
if(watcher){
watcher.flash();
}};
return Model;
}(Class_1.default));
exports.default=Model;
Model.prototype._globalWatchArgs={};
EmitterMixin_1.default.mixInto(Model);
ListenerMixin_1.default.mixInto(Model);
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var moment=__webpack_require__(0);
var util_1=__webpack_require__(4);
var SingleEventDef_1=__webpack_require__(13);
var RecurringEventDef_1=__webpack_require__(210);
exports.default={
parse: function (eventInput, source){
if(util_1.isTimeString(eventInput.start)||moment.isDuration(eventInput.start) ||
util_1.isTimeString(eventInput.end)||moment.isDuration(eventInput.end)){
return RecurringEventDef_1.default.parse(eventInput, source);
}else{
return SingleEventDef_1.default.parse(eventInput, source);
}}
};
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var util_1=__webpack_require__(4);
var EventDateProfile_1=__webpack_require__(17);
var EventDefDateMutation= (function (){
function EventDefDateMutation(){
this.clearEnd=false;
this.forceTimed=false;
this.forceAllDay=false;
}
EventDefDateMutation.createFromDiff=function (dateProfile0, dateProfile1, largeUnit){
var clearEnd=dateProfile0.end&&!dateProfile1.end;
var forceTimed=dateProfile0.isAllDay()&&!dateProfile1.isAllDay();
var forceAllDay = !dateProfile0.isAllDay()&&dateProfile1.isAllDay();
var dateDelta;
var endDiff;
var endDelta;
var mutation;
function subtractDates(date1, date0){
if(largeUnit){
return util_1.diffByUnit(date1, date0, largeUnit);
}
else if(dateProfile1.isAllDay()){
return util_1.diffDay(date1, date0);
}else{
return util_1.diffDayTime(date1, date0);
}}
dateDelta=subtractDates(dateProfile1.start, dateProfile0.start);
if(dateProfile1.end){
endDiff=subtractDates(dateProfile1.unzonedRange.getEnd(), dateProfile0.unzonedRange.getEnd());
endDelta=endDiff.subtract(dateDelta);
}
mutation=new EventDefDateMutation();
mutation.clearEnd=clearEnd;
mutation.forceTimed=forceTimed;
mutation.forceAllDay=forceAllDay;
mutation.setDateDelta(dateDelta);
mutation.setEndDelta(endDelta);
return mutation;
};
EventDefDateMutation.prototype.buildNewDateProfile=function (eventDateProfile, calendar){
var start=eventDateProfile.start.clone();
var end=null;
var shouldRezone=false;
if(eventDateProfile.end&&!this.clearEnd){
end=eventDateProfile.end.clone();
}
else if(this.endDelta&&!end){
end=calendar.getDefaultEventEnd(eventDateProfile.isAllDay(), start);
}
if(this.forceTimed){
shouldRezone=true;
if(!start.hasTime()){
start.time(0);
}
if(end&&!end.hasTime()){
end.time(0);
}}
else if(this.forceAllDay){
if(start.hasTime()){
start.stripTime();
}
if(end&&end.hasTime()){
end.stripTime();
}}
if(this.dateDelta){
shouldRezone=true;
start.add(this.dateDelta);
if(end){
end.add(this.dateDelta);
}}
if(this.endDelta){
shouldRezone=true;
end.add(this.endDelta);
}
if(this.startDelta){
shouldRezone=true;
start.add(this.startDelta);
}
if(shouldRezone){
start=calendar.applyTimezone(start);
if(end){
end=calendar.applyTimezone(end);
}}
if(!end&&calendar.opt('forceEventDuration')){
end=calendar.getDefaultEventEnd(eventDateProfile.isAllDay(), start);
}
return new EventDateProfile_1.default(start, end, calendar);
};
EventDefDateMutation.prototype.setDateDelta=function (dateDelta){
if(dateDelta&&dateDelta.valueOf()){
this.dateDelta=dateDelta;
}else{
this.dateDelta=null;
}};
EventDefDateMutation.prototype.setStartDelta=function (startDelta){
if(startDelta&&startDelta.valueOf()){
this.startDelta=startDelta;
}else{
this.startDelta=null;
}};
EventDefDateMutation.prototype.setEndDelta=function (endDelta){
if(endDelta&&endDelta.valueOf()){
this.endDelta=endDelta;
}else{
this.endDelta=null;
}};
EventDefDateMutation.prototype.isEmpty=function (){
return !this.clearEnd&&!this.forceTimed&&!this.forceAllDay &&
!this.dateDelta&&!this.startDelta&&!this.endDelta;
};
return EventDefDateMutation;
}());
exports.default=EventDefDateMutation;
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var StandardTheme_1=__webpack_require__(213);
var JqueryUiTheme_1=__webpack_require__(214);
var themeClassHash={};
function defineThemeSystem(themeName, themeClass){
themeClassHash[themeName]=themeClass;
}
exports.defineThemeSystem=defineThemeSystem;
function getThemeSystemClass(themeSetting){
if(!themeSetting){
return StandardTheme_1.default;
}
else if(themeSetting===true){
return JqueryUiTheme_1.default;
}else{
return themeClassHash[themeSetting];
}}
exports.getThemeSystemClass=getThemeSystemClass;
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1=__webpack_require__(2);
var $=__webpack_require__(3);
var util_1=__webpack_require__(4);
var Promise_1=__webpack_require__(20);
var EventSource_1=__webpack_require__(6);
var SingleEventDef_1=__webpack_require__(13);
var ArrayEventSource= (function (_super){
tslib_1.__extends(ArrayEventSource, _super);
function ArrayEventSource(calendar){
var _this=_super.call(this, calendar)||this;
_this.eventDefs=[];
return _this;
}
ArrayEventSource.parse=function (rawInput, calendar){
var rawProps;
if($.isArray(rawInput.events)){
rawProps=rawInput;
}
else if($.isArray(rawInput)){
rawProps={ events: rawInput };}
if(rawProps){
return EventSource_1.default.parse.call(this, rawProps, calendar);
}
return false;
};
ArrayEventSource.prototype.setRawEventDefs=function (rawEventDefs){
this.rawEventDefs=rawEventDefs;
this.eventDefs=this.parseEventDefs(rawEventDefs);
};
ArrayEventSource.prototype.fetch=function (start, end, timezone){
var eventDefs=this.eventDefs;
var i;
if(this.currentTimezone!=null &&
this.currentTimezone!==timezone){
for (i=0; i < eventDefs.length; i++){
if(eventDefs[i] instanceof SingleEventDef_1.default){
eventDefs[i].rezone();
}}
}
this.currentTimezone=timezone;
return Promise_1.default.resolve(eventDefs);
};
ArrayEventSource.prototype.addEventDef=function (eventDef){
this.eventDefs.push(eventDef);
};
ArrayEventSource.prototype.removeEventDefsById=function (eventDefId){
return util_1.removeMatching(this.eventDefs, function (eventDef){
return eventDef.id===eventDefId;
});
};
ArrayEventSource.prototype.removeAllEventDefs=function (){
this.eventDefs=[];
};
ArrayEventSource.prototype.getPrimitive=function (){
return this.rawEventDefs;
};
ArrayEventSource.prototype.applyManualStandardProps=function (rawProps){
var superSuccess=_super.prototype.applyManualStandardProps.call(this, rawProps);
this.setRawEventDefs(rawProps.events);
return superSuccess;
};
return ArrayEventSource;
}(EventSource_1.default));
exports.default=ArrayEventSource;
ArrayEventSource.defineStandardProps({
events: false
});
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var $=__webpack_require__(3);
var util_1=__webpack_require__(4);
var CoordCache= (function (){
function CoordCache(options){
this.isHorizontal=false;
this.isVertical=false;
this.els=$(options.els);
this.isHorizontal=options.isHorizontal;
this.isVertical=options.isVertical;
this.forcedOffsetParentEl=options.offsetParent ? $(options.offsetParent):null;
}
CoordCache.prototype.build=function (){
var offsetParentEl=this.forcedOffsetParentEl;
if(!offsetParentEl&&this.els.length > 0){
offsetParentEl=this.els.eq(0).offsetParent();
}
this.origin=offsetParentEl ?
offsetParentEl.offset() :
null;
this.boundingRect=this.queryBoundingRect();
if(this.isHorizontal){
this.buildElHorizontals();
}
if(this.isVertical){
this.buildElVerticals();
}};
CoordCache.prototype.clear=function (){
this.origin=null;
this.boundingRect=null;
this.lefts=null;
this.rights=null;
this.tops=null;
this.bottoms=null;
};
CoordCache.prototype.ensureBuilt=function (){
if(!this.origin){
this.build();
}};
CoordCache.prototype.buildElHorizontals=function (){
var lefts=[];
var rights=[];
this.els.each(function (i, node){
var el=$(node);
var left=el.offset().left;
var width=el.outerWidth();
lefts.push(left);
rights.push(left + width);
});
this.lefts=lefts;
this.rights=rights;
};
CoordCache.prototype.buildElVerticals=function (){
var tops=[];
var bottoms=[];
this.els.each(function (i, node){
var el=$(node);
var top=el.offset().top;
var height=el.outerHeight();
tops.push(top);
bottoms.push(top + height);
});
this.tops=tops;
this.bottoms=bottoms;
};
CoordCache.prototype.getHorizontalIndex=function (leftOffset){
this.ensureBuilt();
var lefts=this.lefts;
var rights=this.rights;
var len=lefts.length;
var i;
for (i=0; i < len; i++){
if(leftOffset >=lefts[i]&&leftOffset < rights[i]){
return i;
}}
};
CoordCache.prototype.getVerticalIndex=function (topOffset){
this.ensureBuilt();
var tops=this.tops;
var bottoms=this.bottoms;
var len=tops.length;
var i;
for (i=0; i < len; i++){
if(topOffset >=tops[i]&&topOffset < bottoms[i]){
return i;
}}
};
CoordCache.prototype.getLeftOffset=function (leftIndex){
this.ensureBuilt();
return this.lefts[leftIndex];
};
CoordCache.prototype.getLeftPosition=function (leftIndex){
this.ensureBuilt();
return this.lefts[leftIndex] - this.origin.left;
};
CoordCache.prototype.getRightOffset=function (leftIndex){
this.ensureBuilt();
return this.rights[leftIndex];
};
CoordCache.prototype.getRightPosition=function (leftIndex){
this.ensureBuilt();
return this.rights[leftIndex] - this.origin.left;
};
CoordCache.prototype.getWidth=function (leftIndex){
this.ensureBuilt();
return this.rights[leftIndex] - this.lefts[leftIndex];
};
CoordCache.prototype.getTopOffset=function (topIndex){
this.ensureBuilt();
return this.tops[topIndex];
};
CoordCache.prototype.getTopPosition=function (topIndex){
this.ensureBuilt();
return this.tops[topIndex] - this.origin.top;
};
CoordCache.prototype.getBottomOffset=function (topIndex){
this.ensureBuilt();
return this.bottoms[topIndex];
};
CoordCache.prototype.getBottomPosition=function (topIndex){
this.ensureBuilt();
return this.bottoms[topIndex] - this.origin.top;
};
CoordCache.prototype.getHeight=function (topIndex){
this.ensureBuilt();
return this.bottoms[topIndex] - this.tops[topIndex];
};
CoordCache.prototype.queryBoundingRect=function (){
var scrollParentEl;
if(this.els.length > 0){
scrollParentEl=util_1.getScrollParent(this.els.eq(0));
if(!scrollParentEl.is(document)){
return util_1.getClientRect(scrollParentEl);
}}
return null;
};
CoordCache.prototype.isPointInBounds=function (leftOffset, topOffset){
return this.isLeftInBounds(leftOffset)&&this.isTopInBounds(topOffset);
};
CoordCache.prototype.isLeftInBounds=function (leftOffset){
return !this.boundingRect||(leftOffset >=this.boundingRect.left&&leftOffset < this.boundingRect.right);
};
CoordCache.prototype.isTopInBounds=function (topOffset){
return !this.boundingRect||(topOffset >=this.boundingRect.top&&topOffset < this.boundingRect.bottom);
};
return CoordCache;
}());
exports.default=CoordCache;
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var $=__webpack_require__(3);
var util_1=__webpack_require__(4);
var ListenerMixin_1=__webpack_require__(7);
var GlobalEmitter_1=__webpack_require__(21);
var DragListener= (function (){
function DragListener(options){
this.isInteracting=false;
this.isDistanceSurpassed=false;
this.isDelayEnded=false;
this.isDragging=false;
this.isTouch=false;
this.isGeneric=false;
this.shouldCancelTouchScroll=true;
this.scrollAlwaysKills=false;
this.isAutoScroll=false;
this.scrollSensitivity=30;
this.scrollSpeed=200;
this.scrollIntervalMs=50;
this.options=options||{};}
DragListener.prototype.startInteraction=function (ev, extraOptions){
if(extraOptions===void 0){ extraOptions={};}
if(ev.type==='mousedown'){
if(GlobalEmitter_1.default.get().shouldIgnoreMouse()){
return;
}
else if(!util_1.isPrimaryMouseButton(ev)){
return;
}else{
ev.preventDefault();
}}
if(!this.isInteracting){
this.delay=util_1.firstDefined(extraOptions.delay, this.options.delay, 0);
this.minDistance=util_1.firstDefined(extraOptions.distance, this.options.distance, 0);
this.subjectEl=this.options.subjectEl;
util_1.preventSelection($('body'));
this.isInteracting=true;
this.isTouch=util_1.getEvIsTouch(ev);
this.isGeneric=ev.type==='dragstart';
this.isDelayEnded=false;
this.isDistanceSurpassed=false;
this.originX=util_1.getEvX(ev);
this.originY=util_1.getEvY(ev);
this.scrollEl=util_1.getScrollParent($(ev.target));
this.bindHandlers();
this.initAutoScroll();
this.handleInteractionStart(ev);
this.startDelay(ev);
if(!this.minDistance){
this.handleDistanceSurpassed(ev);
}}
};
DragListener.prototype.handleInteractionStart=function (ev){
this.trigger('interactionStart', ev);
};
DragListener.prototype.endInteraction=function (ev, isCancelled){
if(this.isInteracting){
this.endDrag(ev);
if(this.delayTimeoutId){
clearTimeout(this.delayTimeoutId);
this.delayTimeoutId=null;
}
this.destroyAutoScroll();
this.unbindHandlers();
this.isInteracting=false;
this.handleInteractionEnd(ev, isCancelled);
util_1.allowSelection($('body'));
}};
DragListener.prototype.handleInteractionEnd=function (ev, isCancelled){
this.trigger('interactionEnd', ev, isCancelled||false);
};
DragListener.prototype.bindHandlers=function (){
var globalEmitter=GlobalEmitter_1.default.get();
if(this.isGeneric){
this.listenTo($(document), {
drag: this.handleMove,
dragstop: this.endInteraction
});
}
else if(this.isTouch){
this.listenTo(globalEmitter, {
touchmove: this.handleTouchMove,
touchend: this.endInteraction,
scroll: this.handleTouchScroll
});
}else{
this.listenTo(globalEmitter, {
mousemove: this.handleMouseMove,
mouseup: this.endInteraction
});
}
this.listenTo(globalEmitter, {
selectstart: util_1.preventDefault,
contextmenu: util_1.preventDefault
});
};
DragListener.prototype.unbindHandlers=function (){
this.stopListeningTo(GlobalEmitter_1.default.get());
this.stopListeningTo($(document));
};
DragListener.prototype.startDrag=function (ev, extraOptions){
this.startInteraction(ev, extraOptions);
if(!this.isDragging){
this.isDragging=true;
this.handleDragStart(ev);
}};
DragListener.prototype.handleDragStart=function (ev){
this.trigger('dragStart', ev);
};
DragListener.prototype.handleMove=function (ev){
var dx=util_1.getEvX(ev) - this.originX;
var dy=util_1.getEvY(ev) - this.originY;
var minDistance=this.minDistance;
var distanceSq;
if(!this.isDistanceSurpassed){
distanceSq=dx * dx + dy * dy;
if(distanceSq >=minDistance * minDistance){
this.handleDistanceSurpassed(ev);
}}
if(this.isDragging){
this.handleDrag(dx, dy, ev);
}};
DragListener.prototype.handleDrag=function (dx, dy, ev){
this.trigger('drag', dx, dy, ev);
this.updateAutoScroll(ev);
};
DragListener.prototype.endDrag=function (ev){
if(this.isDragging){
this.isDragging=false;
this.handleDragEnd(ev);
}};
DragListener.prototype.handleDragEnd=function (ev){
this.trigger('dragEnd', ev);
};
DragListener.prototype.startDelay=function (initialEv){
var _this=this;
if(this.delay){
this.delayTimeoutId=setTimeout(function (){
_this.handleDelayEnd(initialEv);
}, this.delay);
}else{
this.handleDelayEnd(initialEv);
}};
DragListener.prototype.handleDelayEnd=function (initialEv){
this.isDelayEnded=true;
if(this.isDistanceSurpassed){
this.startDrag(initialEv);
}};
DragListener.prototype.handleDistanceSurpassed=function (ev){
this.isDistanceSurpassed=true;
if(this.isDelayEnded){
this.startDrag(ev);
}};
DragListener.prototype.handleTouchMove=function (ev){
if(this.isDragging&&this.shouldCancelTouchScroll){
ev.preventDefault();
}
this.handleMove(ev);
};
DragListener.prototype.handleMouseMove=function (ev){
this.handleMove(ev);
};
DragListener.prototype.handleTouchScroll=function (ev){
if(!this.isDragging||this.scrollAlwaysKills){
this.endInteraction(ev, true);
}};
DragListener.prototype.trigger=function (name){
var args=[];
for (var _i=1; _i < arguments.length; _i++){
args[_i - 1]=arguments[_i];
}
if(this.options[name]){
this.options[name].apply(this, args);
}
if(this['_' + name]){
this['_' + name].apply(this, args);
}};
DragListener.prototype.initAutoScroll=function (){
var scrollEl=this.scrollEl;
this.isAutoScroll =
this.options.scroll &&
scrollEl &&
!scrollEl.is(window) &&
!scrollEl.is(document);
if(this.isAutoScroll){
this.listenTo(scrollEl, 'scroll', util_1.debounce(this.handleDebouncedScroll, 100));
}};
DragListener.prototype.destroyAutoScroll=function (){
this.endAutoScroll();
if(this.isAutoScroll){
this.stopListeningTo(this.scrollEl, 'scroll');
}};
DragListener.prototype.computeScrollBounds=function (){
if(this.isAutoScroll){
this.scrollBounds=util_1.getOuterRect(this.scrollEl);
}};
DragListener.prototype.updateAutoScroll=function (ev){
var sensitivity=this.scrollSensitivity;
var bounds=this.scrollBounds;
var topCloseness;
var bottomCloseness;
var leftCloseness;
var rightCloseness;
var topVel=0;
var leftVel=0;
if(bounds){
topCloseness=(sensitivity - (util_1.getEvY(ev) - bounds.top)) / sensitivity;
bottomCloseness=(sensitivity - (bounds.bottom - util_1.getEvY(ev))) / sensitivity;
leftCloseness=(sensitivity - (util_1.getEvX(ev) - bounds.left)) / sensitivity;
rightCloseness=(sensitivity - (bounds.right - util_1.getEvX(ev))) / sensitivity;
if(topCloseness >=0&&topCloseness <=1){
topVel=topCloseness * this.scrollSpeed * -1;
}
else if(bottomCloseness >=0&&bottomCloseness <=1){
topVel=bottomCloseness * this.scrollSpeed;
}
if(leftCloseness >=0&&leftCloseness <=1){
leftVel=leftCloseness * this.scrollSpeed * -1;
}
else if(rightCloseness >=0&&rightCloseness <=1){
leftVel=rightCloseness * this.scrollSpeed;
}}
this.setScrollVel(topVel, leftVel);
};
DragListener.prototype.setScrollVel=function (topVel, leftVel){
this.scrollTopVel=topVel;
this.scrollLeftVel=leftVel;
this.constrainScrollVel();
if((this.scrollTopVel||this.scrollLeftVel)&&!this.scrollIntervalId){
this.scrollIntervalId=setInterval(util_1.proxy(this, 'scrollIntervalFunc'),
this.scrollIntervalMs);
}};
DragListener.prototype.constrainScrollVel=function (){
var el=this.scrollEl;
if(this.scrollTopVel < 0){
if(el.scrollTop() <=0){
this.scrollTopVel=0;
}}
else if(this.scrollTopVel > 0){
if(el.scrollTop() + el[0].clientHeight >=el[0].scrollHeight){
this.scrollTopVel=0;
}}
if(this.scrollLeftVel < 0){
if(el.scrollLeft() <=0){
this.scrollLeftVel=0;
}}
else if(this.scrollLeftVel > 0){
if(el.scrollLeft() + el[0].clientWidth >=el[0].scrollWidth){
this.scrollLeftVel=0;
}}
};
DragListener.prototype.scrollIntervalFunc=function (){
var el=this.scrollEl;
var frac=this.scrollIntervalMs / 1000;
if(this.scrollTopVel){
el.scrollTop(el.scrollTop() + this.scrollTopVel * frac);
}
if(this.scrollLeftVel){
el.scrollLeft(el.scrollLeft() + this.scrollLeftVel * frac);
}
this.constrainScrollVel();
if(!this.scrollTopVel&&!this.scrollLeftVel){
this.endAutoScroll();
}};
DragListener.prototype.endAutoScroll=function (){
if(this.scrollIntervalId){
clearInterval(this.scrollIntervalId);
this.scrollIntervalId=null;
this.handleScrollEnd();
}};
DragListener.prototype.handleDebouncedScroll=function (){
if(!this.scrollIntervalId){
this.handleScrollEnd();
}};
DragListener.prototype.handleScrollEnd=function (){
};
return DragListener;
}());
exports.default=DragListener;
ListenerMixin_1.default.mixInto(DragListener);
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1=__webpack_require__(2);
var util_1=__webpack_require__(4);
var Mixin_1=__webpack_require__(14);
var DayTableMixin= (function (_super){
tslib_1.__extends(DayTableMixin, _super);
function DayTableMixin(){
return _super!==null&&_super.apply(this, arguments)||this;
}
DayTableMixin.prototype.updateDayTable=function (){
var t=this;
var view=t.view;
var calendar=view.calendar;
var date=calendar.msToUtcMoment(t.dateProfile.renderUnzonedRange.startMs, true);
var end=calendar.msToUtcMoment(t.dateProfile.renderUnzonedRange.endMs, true);
var dayIndex=-1;
var dayIndices=[];
var dayDates=[];
var daysPerRow;
var firstDay;
var rowCnt;
while (date.isBefore(end)){
if(view.isHiddenDay(date)){
dayIndices.push(dayIndex + 0.5);
}else{
dayIndex++;
dayIndices.push(dayIndex);
dayDates.push(date.clone());
}
date.add(1, 'days');
}
if(this.breakOnWeeks){
firstDay=dayDates[0].day();
for (daysPerRow=1; daysPerRow < dayDates.length; daysPerRow++){
if(dayDates[daysPerRow].day()===firstDay){
break;
}}
rowCnt=Math.ceil(dayDates.length / daysPerRow);
}else{
rowCnt=1;
daysPerRow=dayDates.length;
}
this.dayDates=dayDates;
this.dayIndices=dayIndices;
this.daysPerRow=daysPerRow;
this.rowCnt=rowCnt;
this.updateDayTableCols();
};
DayTableMixin.prototype.updateDayTableCols=function (){
this.colCnt=this.computeColCnt();
this.colHeadFormat =
this.opt('columnHeaderFormat') ||
this.opt('columnFormat') ||
this.computeColHeadFormat();
};
DayTableMixin.prototype.computeColCnt=function (){
return this.daysPerRow;
};
DayTableMixin.prototype.getCellDate=function (row, col){
return this.dayDates[this.getCellDayIndex(row, col)].clone();
};
DayTableMixin.prototype.getCellRange=function (row, col){
var start=this.getCellDate(row, col);
var end=start.clone().add(1, 'days');
return { start: start, end: end };};
DayTableMixin.prototype.getCellDayIndex=function (row, col){
return row * this.daysPerRow + this.getColDayIndex(col);
};
DayTableMixin.prototype.getColDayIndex=function (col){
if(this.isRTL){
return this.colCnt - 1 - col;
}else{
return col;
}};
DayTableMixin.prototype.getDateDayIndex=function (date){
var dayIndices=this.dayIndices;
var dayOffset=date.diff(this.dayDates[0], 'days');
if(dayOffset < 0){
return dayIndices[0] - 1;
}
else if(dayOffset >=dayIndices.length){
return dayIndices[dayIndices.length - 1] + 1;
}else{
return dayIndices[dayOffset];
}};
DayTableMixin.prototype.computeColHeadFormat=function (){
if(this.rowCnt > 1||this.colCnt > 10){
return 'ddd'; // "Sat"
}
else if(this.colCnt > 1){
return this.opt('dayOfMonthFormat'); // "Sat 12/10"
}else{
return 'dddd'; // "Saturday"
}};
DayTableMixin.prototype.sliceRangeByRow=function (unzonedRange){
var daysPerRow=this.daysPerRow;
var normalRange=this.view.computeDayRange(unzonedRange);
var rangeFirst=this.getDateDayIndex(normalRange.start);
var rangeLast=this.getDateDayIndex(normalRange.end.clone().subtract(1, 'days'));
var segs=[];
var row;
var rowFirst;
var rowLast;
var segFirst;
var segLast;
for (row=0; row < this.rowCnt; row++){
rowFirst=row * daysPerRow;
rowLast=rowFirst + daysPerRow - 1;
segFirst=Math.max(rangeFirst, rowFirst);
segLast=Math.min(rangeLast, rowLast);
segFirst=Math.ceil(segFirst);
segLast=Math.floor(segLast);
if(segFirst <=segLast){
segs.push({
row: row,
firstRowDayIndex: segFirst - rowFirst,
lastRowDayIndex: segLast - rowFirst,
isStart: segFirst===rangeFirst,
isEnd: segLast===rangeLast
});
}}
return segs;
};
DayTableMixin.prototype.sliceRangeByDay=function (unzonedRange){
var daysPerRow=this.daysPerRow;
var normalRange=this.view.computeDayRange(unzonedRange);
var rangeFirst=this.getDateDayIndex(normalRange.start);
var rangeLast=this.getDateDayIndex(normalRange.end.clone().subtract(1, 'days'));
var segs=[];
var row;
var rowFirst;
var rowLast;
var i;
var segFirst;
var segLast;
for (row=0; row < this.rowCnt; row++){
rowFirst=row * daysPerRow;
rowLast=rowFirst + daysPerRow - 1;
for (i=rowFirst; i <=rowLast; i++){
segFirst=Math.max(rangeFirst, i);
segLast=Math.min(rangeLast, i);
segFirst=Math.ceil(segFirst);
segLast=Math.floor(segLast);
if(segFirst <=segLast){
segs.push({
row: row,
firstRowDayIndex: segFirst - rowFirst,
lastRowDayIndex: segLast - rowFirst,
isStart: segFirst===rangeFirst,
isEnd: segLast===rangeLast
});
}}
}
return segs;
};
DayTableMixin.prototype.renderHeadHtml=function (){
var theme=this.view.calendar.theme;
return '' +
'';
};
DayTableMixin.prototype.renderHeadIntroHtml=function (){
return this.renderIntroHtml();
};
DayTableMixin.prototype.renderHeadTrHtml=function (){
return '' +
'' +
(this.isRTL ? '':this.renderHeadIntroHtml()) +
this.renderHeadDateCellsHtml() +
(this.isRTL ? this.renderHeadIntroHtml():'') +
' ';
};
DayTableMixin.prototype.renderHeadDateCellsHtml=function (){
var htmls=[];
var col;
var date;
for (col=0; col < this.colCnt; col++){
date=this.getCellDate(0, col);
htmls.push(this.renderHeadDateCellHtml(date));
}
return htmls.join('');
};
DayTableMixin.prototype.renderHeadDateCellHtml=function (date, colspan, otherAttrs){
var t=this;
var view=t.view;
var isDateValid=t.dateProfile.activeUnzonedRange.containsDate(date);
var classNames=[
'fc-day-header',
view.calendar.theme.getClass('widgetHeader')
];
var innerHtml;
if(typeof t.opt('columnHeaderHtml')==='function'){
innerHtml=t.opt('columnHeaderHtml')(date);
}
else if(typeof t.opt('columnHeaderText')==='function'){
innerHtml=util_1.htmlEscape(t.opt('columnHeaderText')(date));
}else{
innerHtml=util_1.htmlEscape(date.format(t.colHeadFormat));
}
if(t.rowCnt===1){
classNames=classNames.concat(t.getDayClasses(date, true));
}else{
classNames.push('fc-' + util_1.dayIDs[date.day()]);
}
return '' +
' 1 ?
' colspan="' + colspan + '"' :
'') +
(otherAttrs ?
' ' + otherAttrs :
'') +
'>' +
(isDateValid ?
view.buildGotoAnchorHtml({ date: date, forceOff: t.rowCnt > 1||t.colCnt===1 }, innerHtml) :
innerHtml) +
' ';
};
DayTableMixin.prototype.renderBgTrHtml=function (row){
return '' +
'' +
(this.isRTL ? '':this.renderBgIntroHtml(row)) +
this.renderBgCellsHtml(row) +
(this.isRTL ? this.renderBgIntroHtml(row):'') +
' ';
};
DayTableMixin.prototype.renderBgIntroHtml=function (row){
return this.renderIntroHtml();
};
DayTableMixin.prototype.renderBgCellsHtml=function (row){
var htmls=[];
var col;
var date;
for (col=0; col < this.colCnt; col++){
date=this.getCellDate(row, col);
htmls.push(this.renderBgCellHtml(date));
}
return htmls.join('');
};
DayTableMixin.prototype.renderBgCellHtml=function (date, otherAttrs){
var t=this;
var view=t.view;
var isDateValid=t.dateProfile.activeUnzonedRange.containsDate(date);
var classes=t.getDayClasses(date);
classes.unshift('fc-day', view.calendar.theme.getClass('widgetContent'));
return ' ';
};
DayTableMixin.prototype.renderIntroHtml=function (){
};
DayTableMixin.prototype.bookendCells=function (trEl){
var introHtml=this.renderIntroHtml();
if(introHtml){
if(this.isRTL){
trEl.append(introHtml);
}else{
trEl.prepend(introHtml);
}}
};
return DayTableMixin;
}(Mixin_1.default));
exports.default=DayTableMixin;
}),
(function(module, exports){
Object.defineProperty(exports, "__esModule", { value: true });
var BusinessHourRenderer= (function (){
function BusinessHourRenderer(component, fillRenderer){
this.component=component;
this.fillRenderer=fillRenderer;
}
BusinessHourRenderer.prototype.render=function (businessHourGenerator){
var component=this.component;
var unzonedRange=component._getDateProfile().activeUnzonedRange;
var eventInstanceGroup=businessHourGenerator.buildEventInstanceGroup(component.hasAllDayBusinessHours, unzonedRange);
var eventFootprints=eventInstanceGroup ?
component.eventRangesToEventFootprints(eventInstanceGroup.sliceRenderRanges(unzonedRange)) :
[];
this.renderEventFootprints(eventFootprints);
};
BusinessHourRenderer.prototype.renderEventFootprints=function (eventFootprints){
var segs=this.component.eventFootprintsToSegs(eventFootprints);
this.renderSegs(segs);
this.segs=segs;
};
BusinessHourRenderer.prototype.renderSegs=function (segs){
if(this.fillRenderer){
this.fillRenderer.renderSegs('businessHours', segs, {
getClasses: function (seg){
return ['fc-nonbusiness', 'fc-bgevent'];
}});
}};
BusinessHourRenderer.prototype.unrender=function (){
if(this.fillRenderer){
this.fillRenderer.unrender('businessHours');
}
this.segs=null;
};
BusinessHourRenderer.prototype.getSegs=function (){
return this.segs||[];
};
return BusinessHourRenderer;
}());
exports.default=BusinessHourRenderer;
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var $=__webpack_require__(3);
var util_1=__webpack_require__(4);
var FillRenderer= (function (){
function FillRenderer(component){
this.fillSegTag='div';
this.component=component;
this.elsByFill={};}
FillRenderer.prototype.renderFootprint=function (type, componentFootprint, props){
this.renderSegs(type, this.component.componentFootprintToSegs(componentFootprint), props);
};
FillRenderer.prototype.renderSegs=function (type, segs, props){
var els;
segs=this.buildSegEls(type, segs, props);
els=this.attachSegEls(type, segs);
if(els){
this.reportEls(type, els);
}
return segs;
};
FillRenderer.prototype.unrender=function (type){
var el=this.elsByFill[type];
if(el){
el.remove();
delete this.elsByFill[type];
}};
FillRenderer.prototype.buildSegEls=function (type, segs, props){
var _this=this;
var html='';
var renderedSegs=[];
var i;
if(segs.length){
for (i=0; i < segs.length; i++){
html +=this.buildSegHtml(type, segs[i], props);
}
$(html).each(function (i, node){
var seg=segs[i];
var el=$(node);
if(props.filterEl){
el=props.filterEl(seg, el);
}
if(el){
el=$(el);
if(el.is(_this.fillSegTag)){
seg.el=el;
renderedSegs.push(seg);
}}
});
}
return renderedSegs;
};
FillRenderer.prototype.buildSegHtml=function (type, seg, props){
var classes=props.getClasses ? props.getClasses(seg):[];
var css=util_1.cssToStr(props.getCss ? props.getCss(seg):{});
return '<' + this.fillSegTag +
(classes.length ? ' class="' + classes.join(' ') + '"':'') +
(css ? ' style="' + css + '"':'') +
' />';
};
FillRenderer.prototype.attachSegEls=function (type, segs){
};
FillRenderer.prototype.reportEls=function (type, nodes){
if(this.elsByFill[type]){
this.elsByFill[type]=this.elsByFill[type].add(nodes);
}else{
this.elsByFill[type]=$(nodes);
}};
return FillRenderer;
}());
exports.default=FillRenderer;
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var SingleEventDef_1=__webpack_require__(13);
var EventFootprint_1=__webpack_require__(36);
var EventSource_1=__webpack_require__(6);
var HelperRenderer= (function (){
function HelperRenderer(component, eventRenderer){
this.view=component._getView();
this.component=component;
this.eventRenderer=eventRenderer;
}
HelperRenderer.prototype.renderComponentFootprint=function (componentFootprint){
this.renderEventFootprints([
this.fabricateEventFootprint(componentFootprint)
]);
};
HelperRenderer.prototype.renderEventDraggingFootprints=function (eventFootprints, sourceSeg, isTouch){
this.renderEventFootprints(eventFootprints, sourceSeg, 'fc-dragging', isTouch ? null:this.view.opt('dragOpacity'));
};
HelperRenderer.prototype.renderEventResizingFootprints=function (eventFootprints, sourceSeg, isTouch){
this.renderEventFootprints(eventFootprints, sourceSeg, 'fc-resizing');
};
HelperRenderer.prototype.renderEventFootprints=function (eventFootprints, sourceSeg, extraClassNames, opacity){
var segs=this.component.eventFootprintsToSegs(eventFootprints);
var classNames='fc-helper ' + (extraClassNames||'');
var i;
segs=this.eventRenderer.renderFgSegEls(segs);
for (i=0; i < segs.length; i++){
segs[i].el.addClass(classNames);
}
if(opacity!=null){
for (i=0; i < segs.length; i++){
segs[i].el.css('opacity', opacity);
}}
this.helperEls=this.renderSegs(segs, sourceSeg);
};
HelperRenderer.prototype.renderSegs=function (segs, sourceSeg){
};
HelperRenderer.prototype.unrender=function (){
if(this.helperEls){
this.helperEls.remove();
this.helperEls=null;
}};
HelperRenderer.prototype.fabricateEventFootprint=function (componentFootprint){
var calendar=this.view.calendar;
var eventDateProfile=calendar.footprintToDateProfile(componentFootprint);
var dummyEvent=new SingleEventDef_1.default(new EventSource_1.default(calendar));
var dummyInstance;
dummyEvent.dateProfile=eventDateProfile;
dummyInstance=dummyEvent.buildInstance();
return new EventFootprint_1.default(componentFootprint, dummyEvent, dummyInstance);
};
return HelperRenderer;
}());
exports.default=HelperRenderer;
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1=__webpack_require__(2);
var GlobalEmitter_1=__webpack_require__(21);
var Interaction_1=__webpack_require__(15);
var EventPointing= (function (_super){
tslib_1.__extends(EventPointing, _super);
function EventPointing(){
return _super!==null&&_super.apply(this, arguments)||this;
}
EventPointing.prototype.bindToEl=function (el){
var component=this.component;
component.bindSegHandlerToEl(el, 'click', this.handleClick.bind(this));
component.bindSegHandlerToEl(el, 'mouseenter', this.handleMouseover.bind(this));
component.bindSegHandlerToEl(el, 'mouseleave', this.handleMouseout.bind(this));
};
EventPointing.prototype.handleClick=function (seg, ev){
var res=this.component.publiclyTrigger('eventClick', {
context: seg.el[0],
args: [seg.footprint.getEventLegacy(), ev, this.view]
});
if(res===false){
ev.preventDefault();
}};
EventPointing.prototype.handleMouseover=function (seg, ev){
if(!GlobalEmitter_1.default.get().shouldIgnoreMouse() &&
!this.mousedOverSeg){
this.mousedOverSeg=seg;
if(this.view.isEventDefResizable(seg.footprint.eventDef)){
seg.el.addClass('fc-allow-mouse-resize');
}
this.component.publiclyTrigger('eventMouseover', {
context: seg.el[0],
args: [seg.footprint.getEventLegacy(), ev, this.view]
});
}};
EventPointing.prototype.handleMouseout=function (seg, ev){
if(this.mousedOverSeg){
this.mousedOverSeg=null;
if(this.view.isEventDefResizable(seg.footprint.eventDef)){
seg.el.removeClass('fc-allow-mouse-resize');
}
this.component.publiclyTrigger('eventMouseout', {
context: seg.el[0],
args: [
seg.footprint.getEventLegacy(),
ev||{},
this.view
]
});
}};
EventPointing.prototype.end=function (){
if(this.mousedOverSeg){
this.handleMouseout(this.mousedOverSeg);
}};
return EventPointing;
}(Interaction_1.default));
exports.default=EventPointing;
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1=__webpack_require__(2);
var Mixin_1=__webpack_require__(14);
var DateClicking_1=__webpack_require__(245);
var DateSelecting_1=__webpack_require__(225);
var EventPointing_1=__webpack_require__(59);
var EventDragging_1=__webpack_require__(224);
var EventResizing_1=__webpack_require__(223);
var ExternalDropping_1=__webpack_require__(222);
var StandardInteractionsMixin= (function (_super){
tslib_1.__extends(StandardInteractionsMixin, _super);
function StandardInteractionsMixin(){
return _super!==null&&_super.apply(this, arguments)||this;
}
return StandardInteractionsMixin;
}(Mixin_1.default));
exports.default=StandardInteractionsMixin;
StandardInteractionsMixin.prototype.dateClickingClass=DateClicking_1.default;
StandardInteractionsMixin.prototype.dateSelectingClass=DateSelecting_1.default;
StandardInteractionsMixin.prototype.eventPointingClass=EventPointing_1.default;
StandardInteractionsMixin.prototype.eventDraggingClass=EventDragging_1.default;
StandardInteractionsMixin.prototype.eventResizingClass=EventResizing_1.default;
StandardInteractionsMixin.prototype.externalDroppingClass=ExternalDropping_1.default;
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1=__webpack_require__(2);
var $=__webpack_require__(3);
var util_1=__webpack_require__(4);
var CoordCache_1=__webpack_require__(53);
var Popover_1=__webpack_require__(249);
var UnzonedRange_1=__webpack_require__(5);
var ComponentFootprint_1=__webpack_require__(12);
var EventFootprint_1=__webpack_require__(36);
var BusinessHourRenderer_1=__webpack_require__(56);
var StandardInteractionsMixin_1=__webpack_require__(60);
var InteractiveDateComponent_1=__webpack_require__(40);
var DayTableMixin_1=__webpack_require__(55);
var DayGridEventRenderer_1=__webpack_require__(250);
var DayGridHelperRenderer_1=__webpack_require__(251);
var DayGridFillRenderer_1=__webpack_require__(252);
var DayGrid= (function (_super){
tslib_1.__extends(DayGrid, _super);
function DayGrid(view){
var _this=_super.call(this, view)||this;
_this.cellWeekNumbersVisible=false;
_this.bottomCoordPadding=0;
_this.isRigid=false;
_this.hasAllDayBusinessHours=true;
return _this;
}
DayGrid.prototype.componentFootprintToSegs=function (componentFootprint){
var segs=this.sliceRangeByRow(componentFootprint.unzonedRange);
var i;
var seg;
for (i=0; i < segs.length; i++){
seg=segs[i];
if(this.isRTL){
seg.leftCol=this.daysPerRow - 1 - seg.lastRowDayIndex;
seg.rightCol=this.daysPerRow - 1 - seg.firstRowDayIndex;
}else{
seg.leftCol=seg.firstRowDayIndex;
seg.rightCol=seg.lastRowDayIndex;
}}
return segs;
};
DayGrid.prototype.renderDates=function (dateProfile){
this.dateProfile=dateProfile;
this.updateDayTable();
this.renderGrid();
};
DayGrid.prototype.unrenderDates=function (){
this.removeSegPopover();
};
DayGrid.prototype.renderGrid=function (){
var view=this.view;
var rowCnt=this.rowCnt;
var colCnt=this.colCnt;
var html='';
var row;
var col;
if(this.headContainerEl){
this.headContainerEl.html(this.renderHeadHtml());
}
for (row=0; row < rowCnt; row++){
html +=this.renderDayRowHtml(row, this.isRigid);
}
this.el.html(html);
this.rowEls=this.el.find('.fc-row');
this.cellEls=this.el.find('.fc-day, .fc-disabled-day');
this.rowCoordCache=new CoordCache_1.default({
els: this.rowEls,
isVertical: true
});
this.colCoordCache=new CoordCache_1.default({
els: this.cellEls.slice(0, this.colCnt),
isHorizontal: true
});
for (row=0; row < rowCnt; row++){
for (col=0; col < colCnt; col++){
this.publiclyTrigger('dayRender', {
context: view,
args: [
this.getCellDate(row, col),
this.getCellEl(row, col),
view
]
});
}}
};
DayGrid.prototype.renderDayRowHtml=function (row, isRigid){
var theme=this.view.calendar.theme;
var classes=['fc-row', 'fc-week', theme.getClass('dayRow')];
if(isRigid){
classes.push('fc-rigid');
}
return '' +
'' +
'
' +
'
' +
this.renderBgTrHtml(row) +
'
' +
'
' +
'
' +
'
' +
(this.getIsNumbersVisible() ?
'' +
this.renderNumberTrHtml(row) +
' ' :
'') +
'
' +
'
' +
'
';
};
DayGrid.prototype.getIsNumbersVisible=function (){
return this.getIsDayNumbersVisible()||this.cellWeekNumbersVisible;
};
DayGrid.prototype.getIsDayNumbersVisible=function (){
return this.rowCnt > 1;
};
DayGrid.prototype.renderNumberTrHtml=function (row){
return '' +
'' +
(this.isRTL ? '':this.renderNumberIntroHtml(row)) +
this.renderNumberCellsHtml(row) +
(this.isRTL ? this.renderNumberIntroHtml(row):'') +
' ';
};
DayGrid.prototype.renderNumberIntroHtml=function (row){
return this.renderIntroHtml();
};
DayGrid.prototype.renderNumberCellsHtml=function (row){
var htmls=[];
var col;
var date;
for (col=0; col < this.colCnt; col++){
date=this.getCellDate(row, col);
htmls.push(this.renderNumberCellHtml(date));
}
return htmls.join('');
};
DayGrid.prototype.renderNumberCellHtml=function (date){
var view=this.view;
var html='';
var isDateValid=this.dateProfile.activeUnzonedRange.containsDate(date);
var isDayNumberVisible=this.getIsDayNumbersVisible()&&isDateValid;
var classes;
var weekCalcFirstDoW;
if(!isDayNumberVisible&&!this.cellWeekNumbersVisible){
return ' ';
}
classes=this.getDayClasses(date);
classes.unshift('fc-day-top');
if(this.cellWeekNumbersVisible){
if(date._locale._fullCalendar_weekCalc==='ISO'){
weekCalcFirstDoW=1;
}else{
weekCalcFirstDoW=date._locale.firstDayOfWeek();
}}
html +='';
if(this.cellWeekNumbersVisible&&(date.day()===weekCalcFirstDoW)){
html +=view.buildGotoAnchorHtml({ date: date, type: 'week' }, { 'class': 'fc-week-number' }, date.format('w')
);
}
if(isDayNumberVisible){
html +=view.buildGotoAnchorHtml(date, { 'class': 'fc-day-number' }, date.format('D')
);
}
html +=' ';
return html;
};
DayGrid.prototype.prepareHits=function (){
this.colCoordCache.build();
this.rowCoordCache.build();
this.rowCoordCache.bottoms[this.rowCnt - 1] +=this.bottomCoordPadding;
};
DayGrid.prototype.releaseHits=function (){
this.colCoordCache.clear();
this.rowCoordCache.clear();
};
DayGrid.prototype.queryHit=function (leftOffset, topOffset){
if(this.colCoordCache.isLeftInBounds(leftOffset)&&this.rowCoordCache.isTopInBounds(topOffset)){
var col=this.colCoordCache.getHorizontalIndex(leftOffset);
var row=this.rowCoordCache.getVerticalIndex(topOffset);
if(row!=null&&col!=null){
return this.getCellHit(row, col);
}}
};
DayGrid.prototype.getHitFootprint=function (hit){
var range=this.getCellRange(hit.row, hit.col);
return new ComponentFootprint_1.default(new UnzonedRange_1.default(range.start, range.end), true
);
};
DayGrid.prototype.getHitEl=function (hit){
return this.getCellEl(hit.row, hit.col);
};
DayGrid.prototype.getCellHit=function (row, col){
return {
row: row,
col: col,
component: this,
left: this.colCoordCache.getLeftOffset(col),
right: this.colCoordCache.getRightOffset(col),
top: this.rowCoordCache.getTopOffset(row),
bottom: this.rowCoordCache.getBottomOffset(row)
};};
DayGrid.prototype.getCellEl=function (row, col){
return this.cellEls.eq(row * this.colCnt + col);
};
DayGrid.prototype.executeEventUnrender=function (){
this.removeSegPopover();
_super.prototype.executeEventUnrender.call(this);
};
DayGrid.prototype.getOwnEventSegs=function (){
return _super.prototype.getOwnEventSegs.call(this).concat(this.popoverSegs||[]);
};
DayGrid.prototype.renderDrag=function (eventFootprints, seg, isTouch){
var i;
for (i=0; i < eventFootprints.length; i++){
this.renderHighlight(eventFootprints[i].componentFootprint);
}
if(eventFootprints.length&&seg&&seg.component!==this){
this.helperRenderer.renderEventDraggingFootprints(eventFootprints, seg, isTouch);
return true;
}};
DayGrid.prototype.unrenderDrag=function (){
this.unrenderHighlight();
this.helperRenderer.unrender();
};
DayGrid.prototype.renderEventResize=function (eventFootprints, seg, isTouch){
var i;
for (i=0; i < eventFootprints.length; i++){
this.renderHighlight(eventFootprints[i].componentFootprint);
}
this.helperRenderer.renderEventResizingFootprints(eventFootprints, seg, isTouch);
};
DayGrid.prototype.unrenderEventResize=function (){
this.unrenderHighlight();
this.helperRenderer.unrender();
};
DayGrid.prototype.removeSegPopover=function (){
if(this.segPopover){
this.segPopover.hide();
}};
DayGrid.prototype.limitRows=function (levelLimit){
var rowStructs=this.eventRenderer.rowStructs||[];
var row;
var rowLevelLimit;
for (row=0; row < rowStructs.length; row++){
this.unlimitRow(row);
if(!levelLimit){
rowLevelLimit=false;
}
else if(typeof levelLimit==='number'){
rowLevelLimit=levelLimit;
}else{
rowLevelLimit=this.computeRowLevelLimit(row);
}
if(rowLevelLimit!==false){
this.limitRow(row, rowLevelLimit);
}}
};
DayGrid.prototype.computeRowLevelLimit=function (row){
var rowEl=this.rowEls.eq(row);
var rowHeight=rowEl.height();
var trEls=this.eventRenderer.rowStructs[row].tbodyEl.children();
var i;
var trEl;
var trHeight;
function iterInnerHeights(i, childNode){
trHeight=Math.max(trHeight, $(childNode).outerHeight());
}
for (i=0; i < trEls.length; i++){
trEl=trEls.eq(i).removeClass('fc-limited');
trHeight=0;
trEl.find('> td > :first-child').each(iterInnerHeights);
if(trEl.position().top + trHeight > rowHeight){
return i;
}}
return false;
};
DayGrid.prototype.limitRow=function (row, levelLimit){
var _this=this;
var rowStruct=this.eventRenderer.rowStructs[row];
var moreNodes=[];
var col=0;
var levelSegs;
var cellMatrix;
var limitedNodes;
var i;
var seg;
var segsBelow;
var totalSegsBelow;
var colSegsBelow;
var td;
var rowspan;
var segMoreNodes;
var j;
var moreTd;
var moreWrap;
var moreLink;
var emptyCellsUntil=function (endCol){
while (col < endCol){
segsBelow=_this.getCellSegs(row, col, levelLimit);
if(segsBelow.length){
td=cellMatrix[levelLimit - 1][col];
moreLink=_this.renderMoreLink(row, col, segsBelow);
moreWrap=$('
').append(moreLink);
td.append(moreWrap);
moreNodes.push(moreWrap[0]);
}
col++;
}};
if(levelLimit&&levelLimit < rowStruct.segLevels.length){
levelSegs=rowStruct.segLevels[levelLimit - 1];
cellMatrix=rowStruct.cellMatrix;
limitedNodes=rowStruct.tbodyEl.children().slice(levelLimit)
.addClass('fc-limited').get();
for (i=0; i < levelSegs.length; i++){
seg=levelSegs[i];
emptyCellsUntil(seg.leftCol);
colSegsBelow=[];
totalSegsBelow=0;
while (col <=seg.rightCol){
segsBelow=this.getCellSegs(row, col, levelLimit);
colSegsBelow.push(segsBelow);
totalSegsBelow +=segsBelow.length;
col++;
}
if(totalSegsBelow){
td=cellMatrix[levelLimit - 1][seg.leftCol];
rowspan=td.attr('rowspan')||1;
segMoreNodes=[];
for (j=0; j < colSegsBelow.length; j++){
moreTd=$(' ').attr('rowspan', rowspan);
segsBelow=colSegsBelow[j];
moreLink=this.renderMoreLink(row, seg.leftCol + j, [seg].concat(segsBelow)
);
moreWrap=$('
').append(moreLink);
moreTd.append(moreWrap);
segMoreNodes.push(moreTd[0]);
moreNodes.push(moreTd[0]);
}
td.addClass('fc-limited').after($(segMoreNodes));
limitedNodes.push(td[0]);
}}
emptyCellsUntil(this.colCnt);
rowStruct.moreEls=$(moreNodes);
rowStruct.limitedEls=$(limitedNodes);
}};
DayGrid.prototype.unlimitRow=function (row){
var rowStruct=this.eventRenderer.rowStructs[row];
if(rowStruct.moreEls){
rowStruct.moreEls.remove();
rowStruct.moreEls=null;
}
if(rowStruct.limitedEls){
rowStruct.limitedEls.removeClass('fc-limited');
rowStruct.limitedEls=null;
}};
DayGrid.prototype.renderMoreLink=function (row, col, hiddenSegs){
var _this=this;
var view=this.view;
return $(' ')
.text(this.getMoreLinkText(hiddenSegs.length))
.on('click', function (ev){
var clickOption=_this.opt('eventLimitClick');
var date=_this.getCellDate(row, col);
var moreEl=$(ev.currentTarget);
var dayEl=_this.getCellEl(row, col);
var allSegs=_this.getCellSegs(row, col);
var reslicedAllSegs=_this.resliceDaySegs(allSegs, date);
var reslicedHiddenSegs=_this.resliceDaySegs(hiddenSegs, date);
if(typeof clickOption==='function'){
clickOption=_this.publiclyTrigger('eventLimitClick', {
context: view,
args: [
{
date: date.clone(),
dayEl: dayEl,
moreEl: moreEl,
segs: reslicedAllSegs,
hiddenSegs: reslicedHiddenSegs
},
ev,
view
]
});
}
if(clickOption==='popover'){
_this.showSegPopover(row, col, moreEl, reslicedAllSegs);
}
else if(typeof clickOption==='string'){
view.calendar.zoomTo(date, clickOption);
}});
};
DayGrid.prototype.showSegPopover=function (row, col, moreLink, segs){
var _this=this;
var view=this.view;
var moreWrap=moreLink.parent();
var topEl;
var options;
if(this.rowCnt===1){
topEl=view.el;
}else{
topEl=this.rowEls.eq(row);
}
options={
className: 'fc-more-popover ' + view.calendar.theme.getClass('popover'),
content: this.renderSegPopoverContent(row, col, segs),
parentEl: view.el,
top: topEl.offset().top,
autoHide: true,
viewportConstrain: this.opt('popoverViewportConstrain'),
hide: function (){
if(_this.popoverSegs){
_this.triggerBeforeEventSegsDestroyed(_this.popoverSegs);
}
_this.segPopover.removeElement();
_this.segPopover=null;
_this.popoverSegs=null;
}};
if(this.isRTL){
options.right=moreWrap.offset().left + moreWrap.outerWidth() + 1;
}else{
options.left=moreWrap.offset().left - 1;
}
this.segPopover=new Popover_1.default(options);
this.segPopover.show();
this.bindAllSegHandlersToEl(this.segPopover.el);
this.triggerAfterEventSegsRendered(segs);
};
DayGrid.prototype.renderSegPopoverContent=function (row, col, segs){
var view=this.view;
var theme=view.calendar.theme;
var title=this.getCellDate(row, col).format(this.opt('dayPopoverFormat'));
var content=$('' +
'');
var segContainer=content.find('.fc-event-container');
var i;
segs=this.eventRenderer.renderFgSegEls(segs, true);
this.popoverSegs=segs;
for (i=0; i < segs.length; i++){
this.hitsNeeded();
segs[i].hit=this.getCellHit(row, col);
this.hitsNotNeeded();
segContainer.append(segs[i].el);
}
return content;
};
DayGrid.prototype.resliceDaySegs=function (segs, dayDate){
var dayStart=dayDate.clone();
var dayEnd=dayStart.clone().add(1, 'days');
var dayRange=new UnzonedRange_1.default(dayStart, dayEnd);
var newSegs=[];
var i;
var seg;
var slicedRange;
for (i=0; i < segs.length; i++){
seg=segs[i];
slicedRange=seg.footprint.componentFootprint.unzonedRange.intersect(dayRange);
if(slicedRange){
newSegs.push($.extend({}, seg, {
footprint: new EventFootprint_1.default(new ComponentFootprint_1.default(slicedRange, seg.footprint.componentFootprint.isAllDay), seg.footprint.eventDef, seg.footprint.eventInstance),
isStart: seg.isStart&&slicedRange.isStart,
isEnd: seg.isEnd&&slicedRange.isEnd
}));
}}
this.eventRenderer.sortEventSegs(newSegs);
return newSegs;
};
DayGrid.prototype.getMoreLinkText=function (num){
var opt=this.opt('eventLimitText');
if(typeof opt==='function'){
return opt(num);
}else{
return '+' + num + ' ' + opt;
}};
DayGrid.prototype.getCellSegs=function (row, col, startLevel){
var segMatrix=this.eventRenderer.rowStructs[row].segMatrix;
var level=startLevel||0;
var segs=[];
var seg;
while (level < segMatrix.length){
seg=segMatrix[level][col];
if(seg){
segs.push(seg);
}
level++;
}
return segs;
};
return DayGrid;
}(InteractiveDateComponent_1.default));
exports.default=DayGrid;
DayGrid.prototype.eventRendererClass=DayGridEventRenderer_1.default;
DayGrid.prototype.businessHourRendererClass=BusinessHourRenderer_1.default;
DayGrid.prototype.helperRendererClass=DayGridHelperRenderer_1.default;
DayGrid.prototype.fillRendererClass=DayGridFillRenderer_1.default;
StandardInteractionsMixin_1.default.mixInto(DayGrid);
DayTableMixin_1.default.mixInto(DayGrid);
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1=__webpack_require__(2);
var $=__webpack_require__(3);
var util_1=__webpack_require__(4);
var Scroller_1=__webpack_require__(39);
var View_1=__webpack_require__(41);
var BasicViewDateProfileGenerator_1=__webpack_require__(228);
var DayGrid_1=__webpack_require__(61);
var BasicView= (function (_super){
tslib_1.__extends(BasicView, _super);
function BasicView(calendar, viewSpec){
var _this=_super.call(this, calendar, viewSpec)||this;
_this.dayGrid=_this.instantiateDayGrid();
_this.dayGrid.isRigid=_this.hasRigidRows();
if(_this.opt('weekNumbers')){
if(_this.opt('weekNumbersWithinDays')){
_this.dayGrid.cellWeekNumbersVisible=true;
_this.dayGrid.colWeekNumbersVisible=false;
}else{
_this.dayGrid.cellWeekNumbersVisible=false;
_this.dayGrid.colWeekNumbersVisible=true;
}}
_this.addChild(_this.dayGrid);
_this.scroller=new Scroller_1.default({
overflowX: 'hidden',
overflowY: 'auto'
});
return _this;
}
BasicView.prototype.instantiateDayGrid=function (){
var subclass=makeDayGridSubclass(this.dayGridClass);
return new subclass(this);
};
BasicView.prototype.executeDateRender=function (dateProfile){
this.dayGrid.breakOnWeeks=/year|month|week/.test(dateProfile.currentRangeUnit);
_super.prototype.executeDateRender.call(this, dateProfile);
};
BasicView.prototype.renderSkeleton=function (){
var dayGridContainerEl;
var dayGridEl;
this.el.addClass('fc-basic-view').html(this.renderSkeletonHtml());
this.scroller.render();
dayGridContainerEl=this.scroller.el.addClass('fc-day-grid-container');
dayGridEl=$('
').appendTo(dayGridContainerEl);
this.el.find('.fc-body > tr > td').append(dayGridContainerEl);
this.dayGrid.headContainerEl=this.el.find('.fc-head-container');
this.dayGrid.setElement(dayGridEl);
};
BasicView.prototype.unrenderSkeleton=function (){
this.dayGrid.removeElement();
this.scroller.destroy();
};
BasicView.prototype.renderSkeletonHtml=function (){
var theme=this.calendar.theme;
return '' +
'' +
(this.opt('columnHeader') ?
'' +
'' +
'' +
' ' +
' ' :
'') +
'' +
'' +
' ' +
' ' +
' ' +
'
';
};
BasicView.prototype.weekNumberStyleAttr=function (){
if(this.weekNumberWidth!=null){
return 'style="width:' + this.weekNumberWidth + 'px"';
}
return '';
};
BasicView.prototype.hasRigidRows=function (){
var eventLimit=this.opt('eventLimit');
return eventLimit&&typeof eventLimit!=='number';
};
BasicView.prototype.updateSize=function (totalHeight, isAuto, isResize){
var eventLimit=this.opt('eventLimit');
var headRowEl=this.dayGrid.headContainerEl.find('.fc-row');
var scrollerHeight;
var scrollbarWidths;
if(!this.dayGrid.rowEls){
if(!isAuto){
scrollerHeight=this.computeScrollerHeight(totalHeight);
this.scroller.setHeight(scrollerHeight);
}
return;
}
_super.prototype.updateSize.call(this, totalHeight, isAuto, isResize);
if(this.dayGrid.colWeekNumbersVisible){
this.weekNumberWidth=util_1.matchCellWidths(this.el.find('.fc-week-number'));
}
this.scroller.clear();
util_1.uncompensateScroll(headRowEl);
this.dayGrid.removeSegPopover();
if(eventLimit&&typeof eventLimit==='number'){
this.dayGrid.limitRows(eventLimit);
}
scrollerHeight=this.computeScrollerHeight(totalHeight);
this.setGridHeight(scrollerHeight, isAuto);
if(eventLimit&&typeof eventLimit!=='number'){
this.dayGrid.limitRows(eventLimit);
}
if(!isAuto){
this.scroller.setHeight(scrollerHeight);
scrollbarWidths=this.scroller.getScrollbarWidths();
if(scrollbarWidths.left||scrollbarWidths.right){
util_1.compensateScroll(headRowEl, scrollbarWidths);
scrollerHeight=this.computeScrollerHeight(totalHeight);
this.scroller.setHeight(scrollerHeight);
}
this.scroller.lockOverflow(scrollbarWidths);
}};
BasicView.prototype.computeScrollerHeight=function (totalHeight){
return totalHeight -
util_1.subtractInnerElHeight(this.el, this.scroller.el);
};
BasicView.prototype.setGridHeight=function (height, isAuto){
if(isAuto){
util_1.undistributeHeight(this.dayGrid.rowEls);
}else{
util_1.distributeHeight(this.dayGrid.rowEls, height, true);
}};
BasicView.prototype.computeInitialDateScroll=function (){
return { top: 0 };};
BasicView.prototype.queryDateScroll=function (){
return { top: this.scroller.getScrollTop() };};
BasicView.prototype.applyDateScroll=function (scroll){
if(scroll.top!==undefined){
this.scroller.setScrollTop(scroll.top);
}};
return BasicView;
}(View_1.default));
exports.default=BasicView;
BasicView.prototype.dateProfileGeneratorClass=BasicViewDateProfileGenerator_1.default;
BasicView.prototype.dayGridClass=DayGrid_1.default;
function makeDayGridSubclass(SuperClass){
return (function (_super){
tslib_1.__extends(SubClass, _super);
function SubClass(){
var _this=_super!==null&&_super.apply(this, arguments)||this;
_this.colWeekNumbersVisible=false;
return _this;
}
SubClass.prototype.renderHeadIntroHtml=function (){
var view=this.view;
if(this.colWeekNumbersVisible){
return '' +
'';
}
return '';
};
SubClass.prototype.renderNumberIntroHtml=function (row){
var view=this.view;
var weekStart=this.getCellDate(row, 0);
if(this.colWeekNumbersVisible){
return '' +
'' +
view.buildGotoAnchorHtml({ date: weekStart, type: 'week', forceOff: this.colCnt===1 }, weekStart.format('w')
) +
' ';
}
return '';
};
SubClass.prototype.renderBgIntroHtml=function (){
var view=this.view;
if(this.colWeekNumbersVisible){
return ' ';
}
return '';
};
SubClass.prototype.renderIntroHtml=function (){
var view=this.view;
if(this.colWeekNumbersVisible){
return ' ';
}
return '';
};
SubClass.prototype.getIsNumbersVisible=function (){
return DayGrid_1.default.prototype.getIsNumbersVisible.apply(this, arguments)||this.colWeekNumbersVisible;
};
return SubClass;
}(SuperClass));
}
}),
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var UnzonedRange_1=__webpack_require__(5);
var ComponentFootprint_1=__webpack_require__(12);
var EventDefParser_1=__webpack_require__(49);
var EventSource_1=__webpack_require__(6);
var util_1=__webpack_require__(35);
var Constraints= (function (){
function Constraints(eventManager, _calendar){
this.eventManager=eventManager;
this._calendar=_calendar;
}
Constraints.prototype.opt=function (name){
return this._calendar.opt(name);
};
Constraints.prototype.isEventInstanceGroupAllowed=function (eventInstanceGroup){
var eventDef=eventInstanceGroup.getEventDef();
var eventFootprints=this.eventRangesToEventFootprints(eventInstanceGroup.getAllEventRanges());
var i;
var peerEventInstances=this.getPeerEventInstances(eventDef);
var peerEventRanges=peerEventInstances.map(util_1.eventInstanceToEventRange);
var peerEventFootprints=this.eventRangesToEventFootprints(peerEventRanges);
var constraintVal=eventDef.getConstraint();
var overlapVal=eventDef.getOverlap();
var eventAllowFunc=this.opt('eventAllow');
for (i=0; i < eventFootprints.length; i++){
if(!this.isFootprintAllowed(eventFootprints[i].componentFootprint, peerEventFootprints, constraintVal, overlapVal, eventFootprints[i].eventInstance)){
return false;
}}
if(eventAllowFunc){
for (i=0; i < eventFootprints.length; i++){
if(eventAllowFunc(eventFootprints[i].componentFootprint.toLegacy(this._calendar), eventFootprints[i].getEventLegacy())===false){
return false;
}}
}
return true;
};
Constraints.prototype.getPeerEventInstances=function (eventDef){
return this.eventManager.getEventInstancesWithoutId(eventDef.id);
};
Constraints.prototype.isSelectionFootprintAllowed=function (componentFootprint){
var peerEventInstances=this.eventManager.getEventInstances();
var peerEventRanges=peerEventInstances.map(util_1.eventInstanceToEventRange);
var peerEventFootprints=this.eventRangesToEventFootprints(peerEventRanges);
var selectAllowFunc;
if(this.isFootprintAllowed(componentFootprint, peerEventFootprints, this.opt('selectConstraint'), this.opt('selectOverlap'))){
selectAllowFunc=this.opt('selectAllow');
if(selectAllowFunc){
return selectAllowFunc(componentFootprint.toLegacy(this._calendar))!==false;
}else{
return true;
}}
return false;
};
Constraints.prototype.isFootprintAllowed=function (componentFootprint, peerEventFootprints, constraintVal, overlapVal, subjectEventInstance
){
var constraintFootprints;
var overlapEventFootprints;
if(constraintVal!=null){
constraintFootprints=this.constraintValToFootprints(constraintVal, componentFootprint.isAllDay);
if(!this.isFootprintWithinConstraints(componentFootprint, constraintFootprints)){
return false;
}}
overlapEventFootprints=this.collectOverlapEventFootprints(peerEventFootprints, componentFootprint);
if(overlapVal===false){
if(overlapEventFootprints.length){
return false;
}}
else if(typeof overlapVal==='function'){
if(!isOverlapsAllowedByFunc(overlapEventFootprints, overlapVal, subjectEventInstance)){
return false;
}}
if(subjectEventInstance){
if(!isOverlapEventInstancesAllowed(overlapEventFootprints, subjectEventInstance)){
return false;
}}
return true;
};
Constraints.prototype.isFootprintWithinConstraints=function (componentFootprint, constraintFootprints){
var i;
for (i=0; i < constraintFootprints.length; i++){
if(this.footprintContainsFootprint(constraintFootprints[i], componentFootprint)){
return true;
}}
return false;
};
Constraints.prototype.constraintValToFootprints=function (constraintVal, isAllDay){
var eventInstances;
if(constraintVal==='businessHours'){
return this.buildCurrentBusinessFootprints(isAllDay);
}
else if(typeof constraintVal==='object'){
eventInstances=this.parseEventDefToInstances(constraintVal);
if(!eventInstances){
return this.parseFootprints(constraintVal);
}else{
return this.eventInstancesToFootprints(eventInstances);
}}
else if(constraintVal!=null){
eventInstances=this.eventManager.getEventInstancesWithId(constraintVal);
return this.eventInstancesToFootprints(eventInstances);
}};
Constraints.prototype.buildCurrentBusinessFootprints=function (isAllDay){
var view=this._calendar.view;
var businessHourGenerator=view.get('businessHourGenerator');
var unzonedRange=view.dateProfile.activeUnzonedRange;
var eventInstanceGroup=businessHourGenerator.buildEventInstanceGroup(isAllDay, unzonedRange);
if(eventInstanceGroup){
return this.eventInstancesToFootprints(eventInstanceGroup.eventInstances);
}else{
return [];
}};
Constraints.prototype.eventInstancesToFootprints=function (eventInstances){
var eventRanges=eventInstances.map(util_1.eventInstanceToEventRange);
var eventFootprints=this.eventRangesToEventFootprints(eventRanges);
return eventFootprints.map(util_1.eventFootprintToComponentFootprint);
};
Constraints.prototype.collectOverlapEventFootprints=function (peerEventFootprints, targetFootprint){
var overlapEventFootprints=[];
var i;
for (i=0; i < peerEventFootprints.length; i++){
if(this.footprintsIntersect(targetFootprint, peerEventFootprints[i].componentFootprint)){
overlapEventFootprints.push(peerEventFootprints[i]);
}}
return overlapEventFootprints;
};
Constraints.prototype.parseEventDefToInstances=function (eventInput){
var eventManager=this.eventManager;
var eventDef=EventDefParser_1.default.parse(eventInput, new EventSource_1.default(this._calendar));
if(!eventDef){
return false;
}
return eventDef.buildInstances(eventManager.currentPeriod.unzonedRange);
};
Constraints.prototype.eventRangesToEventFootprints=function (eventRanges){
var i;
var eventFootprints=[];
for (i=0; i < eventRanges.length; i++){
eventFootprints.push.apply(eventFootprints, this.eventRangeToEventFootprints(eventRanges[i]));
}
return eventFootprints;
};
Constraints.prototype.eventRangeToEventFootprints=function (eventRange){
return [util_1.eventRangeToEventFootprint(eventRange)];
};
Constraints.prototype.parseFootprints=function (rawInput){
var start;
var end;
if(rawInput.start){
start=this._calendar.moment(rawInput.start);
if(!start.isValid()){
start=null;
}}
if(rawInput.end){
end=this._calendar.moment(rawInput.end);
if(!end.isValid()){
end=null;
}}
return [
new ComponentFootprint_1.default(new UnzonedRange_1.default(start, end), (start&&!start.hasTime())||(end&&!end.hasTime())
)
];
};
Constraints.prototype.footprintContainsFootprint=function (outerFootprint, innerFootprint){
return outerFootprint.unzonedRange.containsRange(innerFootprint.unzonedRange);
};
Constraints.prototype.footprintsIntersect=function (footprint0, footprint1){
return footprint0.unzonedRange.intersectsWith(footprint1.unzonedRange);
};
return Constraints;
}());
exports.default=Constraints;
function isOverlapsAllowedByFunc(overlapEventFootprints, overlapFunc, subjectEventInstance){
var i;
for (i=0; i < overlapEventFootprints.length; i++){
if(!overlapFunc(overlapEventFootprints[i].eventInstance.toLegacy(), subjectEventInstance ? subjectEventInstance.toLegacy():null)){
return false;
}}
return true;
}
function isOverlapEventInstancesAllowed(overlapEventFootprints, subjectEventInstance){
var subjectLegacyInstance=subjectEventInstance.toLegacy();
var i;
var overlapEventInstance;
var overlapEventDef;
var overlapVal;
for (i=0; i < overlapEventFootprints.length; i++){
overlapEventInstance=overlapEventFootprints[i].eventInstance;
overlapEventDef=overlapEventInstance.def;
overlapVal=overlapEventDef.getOverlap();
if(overlapVal===false){
return false;
}
else if(typeof overlapVal==='function'){
if(!overlapVal(overlapEventInstance.toLegacy(), subjectLegacyInstance)){
return false;
}}
}
return true;
}
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1=__webpack_require__(2);
var util_1=__webpack_require__(4);
var Mixin_1=__webpack_require__(14);
var ParsableModelMixin= (function (_super){
tslib_1.__extends(ParsableModelMixin, _super);
function ParsableModelMixin(){
return _super!==null&&_super.apply(this, arguments)||this;
}
ParsableModelMixin.defineStandardProps=function (propDefs){
var proto=this.prototype;
if(!proto.hasOwnProperty('standardPropMap')){
proto.standardPropMap=Object.create(proto.standardPropMap);
}
util_1.copyOwnProps(propDefs, proto.standardPropMap);
};
ParsableModelMixin.copyVerbatimStandardProps=function (src, dest){
var map=this.prototype.standardPropMap;
var propName;
for (propName in map){
if(src[propName]!=null &&
map[propName]===true
){
dest[propName]=src[propName];
}}
};
ParsableModelMixin.prototype.applyProps=function (rawProps){
var standardPropMap=this.standardPropMap;
var manualProps={};
var miscProps={};
var propName;
for (propName in rawProps){
if(standardPropMap[propName]===true){
this[propName]=rawProps[propName];
}
else if(standardPropMap[propName]===false){
manualProps[propName]=rawProps[propName];
}else{
miscProps[propName]=rawProps[propName];
}}
this.applyMiscProps(miscProps);
return this.applyManualStandardProps(manualProps);
};
ParsableModelMixin.prototype.applyManualStandardProps=function (rawProps){
return true;
};
ParsableModelMixin.prototype.applyMiscProps=function (rawProps){
};
ParsableModelMixin.prototype.isStandardProp=function (propName){
return propName in this.standardPropMap;
};
return ParsableModelMixin;
}(Mixin_1.default));
exports.default=ParsableModelMixin;
ParsableModelMixin.prototype.standardPropMap={};
}),
(function(module, exports){
Object.defineProperty(exports, "__esModule", { value: true });
var EventInstance= (function (){
function EventInstance(def, dateProfile){
this.def=def;
this.dateProfile=dateProfile;
}
EventInstance.prototype.toLegacy=function (){
var dateProfile=this.dateProfile;
var obj=this.def.toLegacy();
obj.start=dateProfile.start.clone();
obj.end=dateProfile.end ? dateProfile.end.clone():null;
return obj;
};
return EventInstance;
}());
exports.default=EventInstance;
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1=__webpack_require__(2);
var $=__webpack_require__(3);
var moment=__webpack_require__(0);
var EventDef_1=__webpack_require__(34);
var EventInstance_1=__webpack_require__(209);
var EventDateProfile_1=__webpack_require__(17);
var RecurringEventDef= (function (_super){
tslib_1.__extends(RecurringEventDef, _super);
function RecurringEventDef(){
return _super!==null&&_super.apply(this, arguments)||this;
}
RecurringEventDef.prototype.isAllDay=function (){
return !this.startTime&&!this.endTime;
};
RecurringEventDef.prototype.buildInstances=function (unzonedRange){
var calendar=this.source.calendar;
var unzonedDate=unzonedRange.getStart();
var unzonedEnd=unzonedRange.getEnd();
var zonedDayStart;
var instanceStart;
var instanceEnd;
var instances=[];
while (unzonedDate.isBefore(unzonedEnd)){
if(!this.dowHash||this.dowHash[unzonedDate.day()]){
zonedDayStart=calendar.applyTimezone(unzonedDate);
instanceStart=zonedDayStart.clone();
instanceEnd=null;
if(this.startTime){
instanceStart.time(this.startTime);
}else{
instanceStart.stripTime();
}
if(this.endTime){
instanceEnd=zonedDayStart.clone().time(this.endTime);
}
instances.push(new EventInstance_1.default(this,
new EventDateProfile_1.default(instanceStart, instanceEnd, calendar)));
}
unzonedDate.add(1, 'days');
}
return instances;
};
RecurringEventDef.prototype.setDow=function (dowNumbers){
if(!this.dowHash){
this.dowHash={};}
for (var i=0; i < dowNumbers.length; i++){
this.dowHash[dowNumbers[i]]=true;
}};
RecurringEventDef.prototype.clone=function (){
var def=_super.prototype.clone.call(this);
if(def.startTime){
def.startTime=moment.duration(this.startTime);
}
if(def.endTime){
def.endTime=moment.duration(this.endTime);
}
if(this.dowHash){
def.dowHash=$.extend({}, this.dowHash);
}
return def;
};
return RecurringEventDef;
}(EventDef_1.default));
exports.default=RecurringEventDef;
RecurringEventDef.prototype.applyProps=function (rawProps){
var superSuccess=EventDef_1.default.prototype.applyProps.call(this, rawProps);
if(rawProps.start){
this.startTime=moment.duration(rawProps.start);
}
if(rawProps.end){
this.endTime=moment.duration(rawProps.end);
}
if(rawProps.dow){
this.setDow(rawProps.dow);
}
return superSuccess;
};
RecurringEventDef.defineStandardProps({
start: false,
end: false,
dow: false
});
}),
(function(module, exports){
Object.defineProperty(exports, "__esModule", { value: true });
var EventRange= (function (){
function EventRange(unzonedRange, eventDef, eventInstance){
this.unzonedRange=unzonedRange;
this.eventDef=eventDef;
if(eventInstance){
this.eventInstance=eventInstance;
}}
return EventRange;
}());
exports.default=EventRange;
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var $=__webpack_require__(3);
var util_1=__webpack_require__(35);
var EventInstanceGroup_1=__webpack_require__(18);
var RecurringEventDef_1=__webpack_require__(210);
var EventSource_1=__webpack_require__(6);
var BUSINESS_HOUR_EVENT_DEFAULTS={
start: '09:00',
end: '17:00',
dow: [1, 2, 3, 4, 5],
rendering: 'inverse-background'
};
var BusinessHourGenerator= (function (){
function BusinessHourGenerator(rawComplexDef, calendar){
this.rawComplexDef=rawComplexDef;
this.calendar=calendar;
}
BusinessHourGenerator.prototype.buildEventInstanceGroup=function (isAllDay, unzonedRange){
var eventDefs=this.buildEventDefs(isAllDay);
var eventInstanceGroup;
if(eventDefs.length){
eventInstanceGroup=new EventInstanceGroup_1.default(util_1.eventDefsToEventInstances(eventDefs, unzonedRange));
eventInstanceGroup.explicitEventDef=eventDefs[0];
return eventInstanceGroup;
}};
BusinessHourGenerator.prototype.buildEventDefs=function (isAllDay){
var rawComplexDef=this.rawComplexDef;
var rawDefs=[];
var requireDow=false;
var i;
var defs=[];
if(rawComplexDef===true){
rawDefs=[{}];
}
else if($.isPlainObject(rawComplexDef)){
rawDefs=[rawComplexDef];
}
else if($.isArray(rawComplexDef)){
rawDefs=rawComplexDef;
requireDow=true;
}
for (i=0; i < rawDefs.length; i++){
if(!requireDow||rawDefs[i].dow){
defs.push(this.buildEventDef(isAllDay, rawDefs[i]));
}}
return defs;
};
BusinessHourGenerator.prototype.buildEventDef=function (isAllDay, rawDef){
var fullRawDef=$.extend({}, BUSINESS_HOUR_EVENT_DEFAULTS, rawDef);
if(isAllDay){
fullRawDef.start=null;
fullRawDef.end=null;
}
return RecurringEventDef_1.default.parse(fullRawDef, new EventSource_1.default(this.calendar)
);
};
return BusinessHourGenerator;
}());
exports.default=BusinessHourGenerator;
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1=__webpack_require__(2);
var Theme_1=__webpack_require__(19);
var StandardTheme= (function (_super){
tslib_1.__extends(StandardTheme, _super);
function StandardTheme(){
return _super!==null&&_super.apply(this, arguments)||this;
}
return StandardTheme;
}(Theme_1.default));
exports.default=StandardTheme;
StandardTheme.prototype.classes={
widget: 'fc-unthemed',
widgetHeader: 'fc-widget-header',
widgetContent: 'fc-widget-content',
buttonGroup: 'fc-button-group',
button: 'fc-button',
cornerLeft: 'fc-corner-left',
cornerRight: 'fc-corner-right',
stateDefault: 'fc-state-default',
stateActive: 'fc-state-active',
stateDisabled: 'fc-state-disabled',
stateHover: 'fc-state-hover',
stateDown: 'fc-state-down',
popoverHeader: 'fc-widget-header',
popoverContent: 'fc-widget-content',
headerRow: 'fc-widget-header',
dayRow: 'fc-widget-content',
listView: 'fc-widget-content'
};
StandardTheme.prototype.baseIconClass='fc-icon';
StandardTheme.prototype.iconClasses={
close: 'fc-icon-x',
prev: 'fc-icon-left-single-arrow',
next: 'fc-icon-right-single-arrow',
prevYear: 'fc-icon-left-double-arrow',
nextYear: 'fc-icon-right-double-arrow'
};
StandardTheme.prototype.iconOverrideOption='buttonIcons';
StandardTheme.prototype.iconOverrideCustomButtonOption='icon';
StandardTheme.prototype.iconOverridePrefix='fc-icon-';
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1=__webpack_require__(2);
var Theme_1=__webpack_require__(19);
var JqueryUiTheme= (function (_super){
tslib_1.__extends(JqueryUiTheme, _super);
function JqueryUiTheme(){
return _super!==null&&_super.apply(this, arguments)||this;
}
return JqueryUiTheme;
}(Theme_1.default));
exports.default=JqueryUiTheme;
JqueryUiTheme.prototype.classes={
widget: 'ui-widget',
widgetHeader: 'ui-widget-header',
widgetContent: 'ui-widget-content',
buttonGroup: 'fc-button-group',
button: 'ui-button',
cornerLeft: 'ui-corner-left',
cornerRight: 'ui-corner-right',
stateDefault: 'ui-state-default',
stateActive: 'ui-state-active',
stateDisabled: 'ui-state-disabled',
stateHover: 'ui-state-hover',
stateDown: 'ui-state-down',
today: 'ui-state-highlight',
popoverHeader: 'ui-widget-header',
popoverContent: 'ui-widget-content',
headerRow: 'ui-widget-header',
dayRow: 'ui-widget-content',
listView: 'ui-widget-content'
};
JqueryUiTheme.prototype.baseIconClass='ui-icon';
JqueryUiTheme.prototype.iconClasses={
close: 'ui-icon-closethick',
prev: 'ui-icon-circle-triangle-w',
next: 'ui-icon-circle-triangle-e',
prevYear: 'ui-icon-seek-prev',
nextYear: 'ui-icon-seek-next'
};
JqueryUiTheme.prototype.iconOverrideOption='themeButtonIcons';
JqueryUiTheme.prototype.iconOverrideCustomButtonOption='themeIcon';
JqueryUiTheme.prototype.iconOverridePrefix='ui-icon-';
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1=__webpack_require__(2);
var $=__webpack_require__(3);
var Promise_1=__webpack_require__(20);
var EventSource_1=__webpack_require__(6);
var FuncEventSource= (function (_super){
tslib_1.__extends(FuncEventSource, _super);
function FuncEventSource(){
return _super!==null&&_super.apply(this, arguments)||this;
}
FuncEventSource.parse=function (rawInput, calendar){
var rawProps;
if($.isFunction(rawInput.events)){
rawProps=rawInput;
}
else if($.isFunction(rawInput)){
rawProps={ events: rawInput };}
if(rawProps){
return EventSource_1.default.parse.call(this, rawProps, calendar);
}
return false;
};
FuncEventSource.prototype.fetch=function (start, end, timezone){
var _this=this;
this.calendar.pushLoading();
return Promise_1.default.construct(function (onResolve){
_this.func.call(_this.calendar, start.clone(), end.clone(), timezone, function (rawEventDefs){
_this.calendar.popLoading();
onResolve(_this.parseEventDefs(rawEventDefs));
});
});
};
FuncEventSource.prototype.getPrimitive=function (){
return this.func;
};
FuncEventSource.prototype.applyManualStandardProps=function (rawProps){
var superSuccess=_super.prototype.applyManualStandardProps.call(this, rawProps);
this.func=rawProps.events;
return superSuccess;
};
return FuncEventSource;
}(EventSource_1.default));
exports.default=FuncEventSource;
FuncEventSource.defineStandardProps({
events: false
});
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1=__webpack_require__(2);
var $=__webpack_require__(3);
var util_1=__webpack_require__(4);
var Promise_1=__webpack_require__(20);
var EventSource_1=__webpack_require__(6);
var JsonFeedEventSource= (function (_super){
tslib_1.__extends(JsonFeedEventSource, _super);
function JsonFeedEventSource(){
return _super!==null&&_super.apply(this, arguments)||this;
}
JsonFeedEventSource.parse=function (rawInput, calendar){
var rawProps;
if(typeof rawInput.url==='string'){
rawProps=rawInput;
}
else if(typeof rawInput==='string'){
rawProps={ url: rawInput };}
if(rawProps){
return EventSource_1.default.parse.call(this, rawProps, calendar);
}
return false;
};
JsonFeedEventSource.prototype.fetch=function (start, end, timezone){
var _this=this;
var ajaxSettings=this.ajaxSettings;
var onSuccess=ajaxSettings.success;
var onError=ajaxSettings.error;
var requestParams=this.buildRequestParams(start, end, timezone);
this.calendar.pushLoading();
return Promise_1.default.construct(function (onResolve, onReject){
$.ajax($.extend({},
JsonFeedEventSource.AJAX_DEFAULTS, ajaxSettings, {
url: _this.url,
data: requestParams,
success: function (rawEventDefs, status, xhr){
var callbackRes;
_this.calendar.popLoading();
if(rawEventDefs){
callbackRes=util_1.applyAll(onSuccess, _this, [rawEventDefs, status, xhr]);
if($.isArray(callbackRes)){
rawEventDefs=callbackRes;
}
onResolve(_this.parseEventDefs(rawEventDefs));
}else{
onReject();
}},
error: function (xhr, statusText, errorThrown){
_this.calendar.popLoading();
util_1.applyAll(onError, _this, [xhr, statusText, errorThrown]);
onReject();
}}));
});
};
JsonFeedEventSource.prototype.buildRequestParams=function (start, end, timezone){
var calendar=this.calendar;
var ajaxSettings=this.ajaxSettings;
var startParam;
var endParam;
var timezoneParam;
var customRequestParams;
var params={};
startParam=this.startParam;
if(startParam==null){
startParam=calendar.opt('startParam');
}
endParam=this.endParam;
if(endParam==null){
endParam=calendar.opt('endParam');
}
timezoneParam=this.timezoneParam;
if(timezoneParam==null){
timezoneParam=calendar.opt('timezoneParam');
}
if($.isFunction(ajaxSettings.data)){
customRequestParams=ajaxSettings.data();
}else{
customRequestParams=ajaxSettings.data||{};}
$.extend(params, customRequestParams);
params[startParam]=start.format();
params[endParam]=end.format();
if(timezone&&timezone!=='local'){
params[timezoneParam]=timezone;
}
return params;
};
JsonFeedEventSource.prototype.getPrimitive=function (){
return this.url;
};
JsonFeedEventSource.prototype.applyMiscProps=function (rawProps){
this.ajaxSettings=rawProps;
};
JsonFeedEventSource.AJAX_DEFAULTS={
dataType: 'json',
cache: false
};
return JsonFeedEventSource;
}(EventSource_1.default));
exports.default=JsonFeedEventSource;
JsonFeedEventSource.defineStandardProps({
url: true,
startParam: true,
endParam: true,
timezoneParam: true
});
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var EmitterMixin_1=__webpack_require__(11);
var TaskQueue= (function (){
function TaskQueue(){
this.q=[];
this.isPaused=false;
this.isRunning=false;
}
TaskQueue.prototype.queue=function (){
var args=[];
for (var _i=0; _i < arguments.length; _i++){
args[_i]=arguments[_i];
}
this.q.push.apply(this.q, args);
this.tryStart();
};
TaskQueue.prototype.pause=function (){
this.isPaused=true;
};
TaskQueue.prototype.resume=function (){
this.isPaused=false;
this.tryStart();
};
TaskQueue.prototype.getIsIdle=function (){
return !this.isRunning&&!this.isPaused;
};
TaskQueue.prototype.tryStart=function (){
if(!this.isRunning&&this.canRunNext()){
this.isRunning=true;
this.trigger('start');
this.runRemaining();
}};
TaskQueue.prototype.canRunNext=function (){
return !this.isPaused&&this.q.length;
};
TaskQueue.prototype.runRemaining=function (){
var _this=this;
var task;
var res;
do {
task=this.q.shift();
res=this.runTask(task);
if(res&&res.then){
res.then(function (){
if(_this.canRunNext()){
_this.runRemaining();
}});
return;
}} while (this.canRunNext());
this.trigger('stop');
this.isRunning=false;
this.tryStart();
};
TaskQueue.prototype.runTask=function (task){
return task();
};
return TaskQueue;
}());
exports.default=TaskQueue;
EmitterMixin_1.default.mixInto(TaskQueue);
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1=__webpack_require__(2);
var TaskQueue_1=__webpack_require__(217);
var RenderQueue= (function (_super){
tslib_1.__extends(RenderQueue, _super);
function RenderQueue(waitsByNamespace){
var _this=_super.call(this)||this;
_this.waitsByNamespace=waitsByNamespace||{};
return _this;
}
RenderQueue.prototype.queue=function (taskFunc, namespace, type){
var task={
func: taskFunc,
namespace: namespace,
type: type
};
var waitMs;
if(namespace){
waitMs=this.waitsByNamespace[namespace];
}
if(this.waitNamespace){
if(namespace===this.waitNamespace&&waitMs!=null){
this.delayWait(waitMs);
}else{
this.clearWait();
this.tryStart();
}}
if(this.compoundTask(task)){
if(!this.waitNamespace&&waitMs!=null){
this.startWait(namespace, waitMs);
}else{
this.tryStart();
}}
};
RenderQueue.prototype.startWait=function (namespace, waitMs){
this.waitNamespace=namespace;
this.spawnWait(waitMs);
};
RenderQueue.prototype.delayWait=function (waitMs){
clearTimeout(this.waitId);
this.spawnWait(waitMs);
};
RenderQueue.prototype.spawnWait=function (waitMs){
var _this=this;
this.waitId=setTimeout(function (){
_this.waitNamespace=null;
_this.tryStart();
}, waitMs);
};
RenderQueue.prototype.clearWait=function (){
if(this.waitNamespace){
clearTimeout(this.waitId);
this.waitId=null;
this.waitNamespace=null;
}};
RenderQueue.prototype.canRunNext=function (){
if(!_super.prototype.canRunNext.call(this)){
return false;
}
if(this.waitNamespace){
var q=this.q;
for (var i=0; i < q.length; i++){
if(q[i].namespace!==this.waitNamespace){
return true;
}}
return false;
}
return true;
};
RenderQueue.prototype.runTask=function (task){
task.func();
};
RenderQueue.prototype.compoundTask=function (newTask){
var q=this.q;
var shouldAppend=true;
var i;
var task;
if(newTask.namespace&&newTask.type==='destroy'){
for (i=q.length - 1; i >=0; i--){
task=q[i];
switch (task.type){
case 'init':
shouldAppend=false;
case 'add':
case 'remove':
q.splice(i, 1);
}}
}
if(shouldAppend){
q.push(newTask);
}
return shouldAppend;
};
return RenderQueue;
}(TaskQueue_1.default));
exports.default=RenderQueue;
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1=__webpack_require__(2);
var $=__webpack_require__(3);
var moment=__webpack_require__(0);
var util_1=__webpack_require__(4);
var moment_ext_1=__webpack_require__(10);
var date_formatting_1=__webpack_require__(47);
var Component_1=__webpack_require__(237);
var util_2=__webpack_require__(35);
var DateComponent= (function (_super){
tslib_1.__extends(DateComponent, _super);
function DateComponent(_view, _options){
var _this=_super.call(this)||this;
_this.isRTL=false;
_this.hitsNeededDepth=0;
_this.hasAllDayBusinessHours=false;
_this.isDatesRendered=false;
if(_view){
_this['view']=_view;
}
if(_options){
_this['options']=_options;
}
_this.uid=String(DateComponent.guid++);
_this.childrenByUid={};
_this.nextDayThreshold=moment.duration(_this.opt('nextDayThreshold'));
_this.isRTL=_this.opt('isRTL');
if(_this.fillRendererClass){
_this.fillRenderer=new _this.fillRendererClass(_this);
}
if(_this.eventRendererClass){
_this.eventRenderer=new _this.eventRendererClass(_this, _this.fillRenderer);
}
if(_this.helperRendererClass&&_this.eventRenderer){
_this.helperRenderer=new _this.helperRendererClass(_this, _this.eventRenderer);
}
if(_this.businessHourRendererClass&&_this.fillRenderer){
_this.businessHourRenderer=new _this.businessHourRendererClass(_this, _this.fillRenderer);
}
return _this;
}
DateComponent.prototype.addChild=function (child){
if(!this.childrenByUid[child.uid]){
this.childrenByUid[child.uid]=child;
return true;
}
return false;
};
DateComponent.prototype.removeChild=function (child){
if(this.childrenByUid[child.uid]){
delete this.childrenByUid[child.uid];
return true;
}
return false;
};
DateComponent.prototype.updateSize=function (totalHeight, isAuto, isResize){
this.callChildren('updateSize', arguments);
};
DateComponent.prototype.opt=function (name){
return this._getView().opt(name);
};
DateComponent.prototype.publiclyTrigger=function (){
var args=[];
for (var _i=0; _i < arguments.length; _i++){
args[_i]=arguments[_i];
}
var calendar=this._getCalendar();
return calendar.publiclyTrigger.apply(calendar, args);
};
DateComponent.prototype.hasPublicHandlers=function (){
var args=[];
for (var _i=0; _i < arguments.length; _i++){
args[_i]=arguments[_i];
}
var calendar=this._getCalendar();
return calendar.hasPublicHandlers.apply(calendar, args);
};
DateComponent.prototype.executeDateRender=function (dateProfile){
this.dateProfile=dateProfile;
this.renderDates(dateProfile);
this.isDatesRendered=true;
this.callChildren('executeDateRender', arguments);
};
DateComponent.prototype.executeDateUnrender=function (){
this.callChildren('executeDateUnrender', arguments);
this.dateProfile=null;
this.unrenderDates();
this.isDatesRendered=false;
};
DateComponent.prototype.renderDates=function (dateProfile){
};
DateComponent.prototype.unrenderDates=function (){
};
DateComponent.prototype.getNowIndicatorUnit=function (){
};
DateComponent.prototype.renderNowIndicator=function (date){
this.callChildren('renderNowIndicator', arguments);
};
DateComponent.prototype.unrenderNowIndicator=function (){
this.callChildren('unrenderNowIndicator', arguments);
};
DateComponent.prototype.renderBusinessHours=function (businessHourGenerator){
if(this.businessHourRenderer){
this.businessHourRenderer.render(businessHourGenerator);
}
this.callChildren('renderBusinessHours', arguments);
};
DateComponent.prototype.unrenderBusinessHours=function (){
this.callChildren('unrenderBusinessHours', arguments);
if(this.businessHourRenderer){
this.businessHourRenderer.unrender();
}};
DateComponent.prototype.executeEventRender=function (eventsPayload){
if(this.eventRenderer){
this.eventRenderer.rangeUpdated();
this.eventRenderer.render(eventsPayload);
}
else if(this['renderEvents']){
this['renderEvents'](convertEventsPayloadToLegacyArray(eventsPayload));
}
this.callChildren('executeEventRender', arguments);
};
DateComponent.prototype.executeEventUnrender=function (){
this.callChildren('executeEventUnrender', arguments);
if(this.eventRenderer){
this.eventRenderer.unrender();
}
else if(this['destroyEvents']){
this['destroyEvents']();
}};
DateComponent.prototype.getBusinessHourSegs=function (){
var segs=this.getOwnBusinessHourSegs();
this.iterChildren(function (child){
segs.push.apply(segs, child.getBusinessHourSegs());
});
return segs;
};
DateComponent.prototype.getOwnBusinessHourSegs=function (){
if(this.businessHourRenderer){
return this.businessHourRenderer.getSegs();
}
return [];
};
DateComponent.prototype.getEventSegs=function (){
var segs=this.getOwnEventSegs();
this.iterChildren(function (child){
segs.push.apply(segs, child.getEventSegs());
});
return segs;
};
DateComponent.prototype.getOwnEventSegs=function (){
if(this.eventRenderer){
return this.eventRenderer.getSegs();
}
return [];
};
DateComponent.prototype.triggerAfterEventsRendered=function (){
this.triggerAfterEventSegsRendered(this.getEventSegs());
this.publiclyTrigger('eventAfterAllRender', {
context: this,
args: [this]
});
};
DateComponent.prototype.triggerAfterEventSegsRendered=function (segs){
var _this=this;
if(this.hasPublicHandlers('eventAfterRender')){
segs.forEach(function (seg){
var legacy;
if(seg.el){
legacy=seg.footprint.getEventLegacy();
_this.publiclyTrigger('eventAfterRender', {
context: legacy,
args: [legacy, seg.el, _this]
});
}});
}};
DateComponent.prototype.triggerBeforeEventsDestroyed=function (){
this.triggerBeforeEventSegsDestroyed(this.getEventSegs());
};
DateComponent.prototype.triggerBeforeEventSegsDestroyed=function (segs){
var _this=this;
if(this.hasPublicHandlers('eventDestroy')){
segs.forEach(function (seg){
var legacy;
if(seg.el){
legacy=seg.footprint.getEventLegacy();
_this.publiclyTrigger('eventDestroy', {
context: legacy,
args: [legacy, seg.el, _this]
});
}});
}};
DateComponent.prototype.showEventsWithId=function (eventDefId){
this.getEventSegs().forEach(function (seg){
if(seg.footprint.eventDef.id===eventDefId &&
seg.el
){
seg.el.css('visibility', '');
}});
this.callChildren('showEventsWithId', arguments);
};
DateComponent.prototype.hideEventsWithId=function (eventDefId){
this.getEventSegs().forEach(function (seg){
if(seg.footprint.eventDef.id===eventDefId &&
seg.el
){
seg.el.css('visibility', 'hidden');
}});
this.callChildren('hideEventsWithId', arguments);
};
DateComponent.prototype.renderDrag=function (eventFootprints, seg, isTouch){
var renderedHelper=false;
this.iterChildren(function (child){
if(child.renderDrag(eventFootprints, seg, isTouch)){
renderedHelper=true;
}});
return renderedHelper;
};
DateComponent.prototype.unrenderDrag=function (){
this.callChildren('unrenderDrag', arguments);
};
DateComponent.prototype.renderEventResize=function (eventFootprints, seg, isTouch){
this.callChildren('renderEventResize', arguments);
};
DateComponent.prototype.unrenderEventResize=function (){
this.callChildren('unrenderEventResize', arguments);
};
DateComponent.prototype.renderSelectionFootprint=function (componentFootprint){
this.renderHighlight(componentFootprint);
this.callChildren('renderSelectionFootprint', arguments);
};
DateComponent.prototype.unrenderSelection=function (){
this.unrenderHighlight();
this.callChildren('unrenderSelection', arguments);
};
DateComponent.prototype.renderHighlight=function (componentFootprint){
if(this.fillRenderer){
this.fillRenderer.renderFootprint('highlight', componentFootprint, {
getClasses: function (){
return ['fc-highlight'];
}});
}
this.callChildren('renderHighlight', arguments);
};
DateComponent.prototype.unrenderHighlight=function (){
if(this.fillRenderer){
this.fillRenderer.unrender('highlight');
}
this.callChildren('unrenderHighlight', arguments);
};
DateComponent.prototype.hitsNeeded=function (){
if(!(this.hitsNeededDepth++)){
this.prepareHits();
}
this.callChildren('hitsNeeded', arguments);
};
DateComponent.prototype.hitsNotNeeded=function (){
if(this.hitsNeededDepth&&!(--this.hitsNeededDepth)){
this.releaseHits();
}
this.callChildren('hitsNotNeeded', arguments);
};
DateComponent.prototype.prepareHits=function (){
};
DateComponent.prototype.releaseHits=function (){
};
DateComponent.prototype.queryHit=function (leftOffset, topOffset){
var childrenByUid=this.childrenByUid;
var uid;
var hit;
for (uid in childrenByUid){
hit=childrenByUid[uid].queryHit(leftOffset, topOffset);
if(hit){
break;
}}
return hit;
};
DateComponent.prototype.getSafeHitFootprint=function (hit){
var footprint=this.getHitFootprint(hit);
if(!this.dateProfile.activeUnzonedRange.containsRange(footprint.unzonedRange)){
return null;
}
return footprint;
};
DateComponent.prototype.getHitFootprint=function (hit){
};
DateComponent.prototype.getHitEl=function (hit){
};
DateComponent.prototype.eventRangesToEventFootprints=function (eventRanges){
var eventFootprints=[];
var i;
for (i=0; i < eventRanges.length; i++){
eventFootprints.push.apply(eventFootprints, this.eventRangeToEventFootprints(eventRanges[i]));
}
return eventFootprints;
};
DateComponent.prototype.eventRangeToEventFootprints=function (eventRange){
return [util_2.eventRangeToEventFootprint(eventRange)];
};
DateComponent.prototype.eventFootprintsToSegs=function (eventFootprints){
var segs=[];
var i;
for (i=0; i < eventFootprints.length; i++){
segs.push.apply(segs, this.eventFootprintToSegs(eventFootprints[i]));
}
return segs;
};
DateComponent.prototype.eventFootprintToSegs=function (eventFootprint){
var unzonedRange=eventFootprint.componentFootprint.unzonedRange;
var segs;
var i;
var seg;
segs=this.componentFootprintToSegs(eventFootprint.componentFootprint);
for (i=0; i < segs.length; i++){
seg=segs[i];
if(!unzonedRange.isStart){
seg.isStart=false;
}
if(!unzonedRange.isEnd){
seg.isEnd=false;
}
seg.footprint=eventFootprint;
}
return segs;
};
DateComponent.prototype.componentFootprintToSegs=function (componentFootprint){
return [];
};
DateComponent.prototype.callChildren=function (methodName, args){
this.iterChildren(function (child){
child[methodName].apply(child, args);
});
};
DateComponent.prototype.iterChildren=function (func){
var childrenByUid=this.childrenByUid;
var uid;
for (uid in childrenByUid){
func(childrenByUid[uid]);
}};
DateComponent.prototype._getCalendar=function (){
var t=this;
return t.calendar||t.view.calendar;
};
DateComponent.prototype._getView=function (){
return this.view;
};
DateComponent.prototype._getDateProfile=function (){
return this._getView().get('dateProfile');
};
DateComponent.prototype.buildGotoAnchorHtml=function (gotoOptions, attrs, innerHtml){
var date;
var type;
var forceOff;
var finalOptions;
if($.isPlainObject(gotoOptions)){
date=gotoOptions.date;
type=gotoOptions.type;
forceOff=gotoOptions.forceOff;
}else{
date=gotoOptions;
}
date=moment_ext_1.default(date);
finalOptions={
date: date.format('YYYY-MM-DD'),
type: type||'day'
};
if(typeof attrs==='string'){
innerHtml=attrs;
attrs=null;
}
attrs=attrs ? ' ' + util_1.attrsToStr(attrs):'';
innerHtml=innerHtml||'';
if(!forceOff&&this.opt('navLinks')){
return '' +
innerHtml +
' ';
}else{
return '' +
innerHtml +
' ';
}};
DateComponent.prototype.getAllDayHtml=function (){
return this.opt('allDayHtml')||util_1.htmlEscape(this.opt('allDayText'));
};
DateComponent.prototype.getDayClasses=function (date, noThemeHighlight){
var view=this._getView();
var classes=[];
var today;
if(!this.dateProfile.activeUnzonedRange.containsDate(date)){
classes.push('fc-disabled-day');
}else{
classes.push('fc-' + util_1.dayIDs[date.day()]);
if(view.isDateInOtherMonth(date, this.dateProfile)){
classes.push('fc-other-month');
}
today=view.calendar.getNow();
if(date.isSame(today, 'day')){
classes.push('fc-today');
if(noThemeHighlight!==true){
classes.push(view.calendar.theme.getClass('today'));
}}
else if(date < today){
classes.push('fc-past');
}else{
classes.push('fc-future');
}}
return classes;
};
DateComponent.prototype.formatRange=function (range, isAllDay, formatStr, separator){
var end=range.end;
if(isAllDay){
end=end.clone().subtract(1);
}
return date_formatting_1.formatRange(range.start, end, formatStr, separator, this.isRTL);
};
DateComponent.prototype.currentRangeAs=function (unit){
return this._getDateProfile().currentUnzonedRange.as(unit);
};
DateComponent.prototype.computeDayRange=function (unzonedRange){
var calendar=this._getCalendar();
var startDay=calendar.msToUtcMoment(unzonedRange.startMs, true);
var end=calendar.msToUtcMoment(unzonedRange.endMs);
var endTimeMS=+end.time();
var endDay=end.clone().stripTime();
if(endTimeMS&&endTimeMS >=this.nextDayThreshold){
endDay.add(1, 'days');
}
if(endDay <=startDay){
endDay=startDay.clone().add(1, 'days');
}
return { start: startDay, end: endDay };};
DateComponent.prototype.isMultiDayRange=function (unzonedRange){
var dayRange=this.computeDayRange(unzonedRange);
return dayRange.end.diff(dayRange.start, 'days') > 1;
};
DateComponent.guid=0;
return DateComponent;
}(Component_1.default));
exports.default=DateComponent;
function convertEventsPayloadToLegacyArray(eventsPayload){
var eventDefId;
var eventInstances;
var legacyEvents=[];
var i;
for (eventDefId in eventsPayload){
eventInstances=eventsPayload[eventDefId].eventInstances;
for (i=0; i < eventInstances.length; i++){
legacyEvents.push(eventInstances[i].toLegacy());
}}
return legacyEvents;
}
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var $=__webpack_require__(3);
var moment=__webpack_require__(0);
var util_1=__webpack_require__(4);
var options_1=__webpack_require__(32);
var Iterator_1=__webpack_require__(238);
var GlobalEmitter_1=__webpack_require__(21);
var EmitterMixin_1=__webpack_require__(11);
var ListenerMixin_1=__webpack_require__(7);
var Toolbar_1=__webpack_require__(239);
var OptionsManager_1=__webpack_require__(240);
var ViewSpecManager_1=__webpack_require__(241);
var Constraints_1=__webpack_require__(207);
var locale_1=__webpack_require__(31);
var moment_ext_1=__webpack_require__(10);
var UnzonedRange_1=__webpack_require__(5);
var ComponentFootprint_1=__webpack_require__(12);
var EventDateProfile_1=__webpack_require__(17);
var EventManager_1=__webpack_require__(242);
var BusinessHourGenerator_1=__webpack_require__(212);
var EventSourceParser_1=__webpack_require__(38);
var EventDefParser_1=__webpack_require__(49);
var SingleEventDef_1=__webpack_require__(13);
var EventDefMutation_1=__webpack_require__(37);
var EventSource_1=__webpack_require__(6);
var ThemeRegistry_1=__webpack_require__(51);
var Calendar= (function (){
function Calendar(el, overrides){
this.loadingLevel=0;
this.ignoreUpdateViewSize=0;
this.freezeContentHeightDepth=0;
GlobalEmitter_1.default.needed();
this.el=el;
this.viewsByType={};
this.optionsManager=new OptionsManager_1.default(this, overrides);
this.viewSpecManager=new ViewSpecManager_1.default(this.optionsManager, this);
this.initMomentInternals();
this.initCurrentDate();
this.initEventManager();
this.constraints=new Constraints_1.default(this.eventManager, this);
this.constructed();
}
Calendar.prototype.constructed=function (){
};
Calendar.prototype.getView=function (){
return this.view;
};
Calendar.prototype.publiclyTrigger=function (name, triggerInfo){
var optHandler=this.opt(name);
var context;
var args;
if($.isPlainObject(triggerInfo)){
context=triggerInfo.context;
args=triggerInfo.args;
}
else if($.isArray(triggerInfo)){
args=triggerInfo;
}
if(context==null){
context=this.el[0];
}
if(!args){
args=[];
}
this.triggerWith(name, context, args);
if(optHandler){
return optHandler.apply(context, args);
}};
Calendar.prototype.hasPublicHandlers=function (name){
return this.hasHandlers(name) ||
this.opt(name);
};
Calendar.prototype.option=function (name, value){
var newOptionHash;
if(typeof name==='string'){
if(value===undefined){
return this.optionsManager.get(name);
}else{
newOptionHash={};
newOptionHash[name]=value;
this.optionsManager.add(newOptionHash);
}}
else if(typeof name==='object'){
this.optionsManager.add(name);
}};
Calendar.prototype.opt=function (name){
return this.optionsManager.get(name);
};
Calendar.prototype.instantiateView=function (viewType){
var spec=this.viewSpecManager.getViewSpec(viewType);
if(!spec){
throw new Error("View type \"" + viewType + "\" is not valid");
}
return new spec['class'](this, spec);
};
Calendar.prototype.isValidViewType=function (viewType){
return Boolean(this.viewSpecManager.getViewSpec(viewType));
};
Calendar.prototype.changeView=function (viewName, dateOrRange){
if(dateOrRange){
if(dateOrRange.start&&dateOrRange.end){
this.optionsManager.recordOverrides({
visibleRange: dateOrRange
});
}else{
this.currentDate=this.moment(dateOrRange).stripZone();
}}
this.renderView(viewName);
};
Calendar.prototype.zoomTo=function (newDate, viewType){
var spec;
viewType=viewType||'day';
spec=this.viewSpecManager.getViewSpec(viewType) ||
this.viewSpecManager.getUnitViewSpec(viewType);
this.currentDate=newDate.clone();
this.renderView(spec ? spec.type:null);
};
Calendar.prototype.initCurrentDate=function (){
var defaultDateInput=this.opt('defaultDate');
if(defaultDateInput!=null){
this.currentDate=this.moment(defaultDateInput).stripZone();
}else{
this.currentDate=this.getNow();
}};
Calendar.prototype.prev=function (){
var view=this.view;
var prevInfo=view.dateProfileGenerator.buildPrev(view.get('dateProfile'));
if(prevInfo.isValid){
this.currentDate=prevInfo.date;
this.renderView();
}};
Calendar.prototype.next=function (){
var view=this.view;
var nextInfo=view.dateProfileGenerator.buildNext(view.get('dateProfile'));
if(nextInfo.isValid){
this.currentDate=nextInfo.date;
this.renderView();
}};
Calendar.prototype.prevYear=function (){
this.currentDate.add(-1, 'years');
this.renderView();
};
Calendar.prototype.nextYear=function (){
this.currentDate.add(1, 'years');
this.renderView();
};
Calendar.prototype.today=function (){
this.currentDate=this.getNow();
this.renderView();
};
Calendar.prototype.gotoDate=function (zonedDateInput){
this.currentDate=this.moment(zonedDateInput).stripZone();
this.renderView();
};
Calendar.prototype.incrementDate=function (delta){
this.currentDate.add(moment.duration(delta));
this.renderView();
};
Calendar.prototype.getDate=function (){
return this.applyTimezone(this.currentDate);
};
Calendar.prototype.pushLoading=function (){
if(!(this.loadingLevel++)){
this.publiclyTrigger('loading', [true, this.view]);
}};
Calendar.prototype.popLoading=function (){
if(!(--this.loadingLevel)){
this.publiclyTrigger('loading', [false, this.view]);
}};
Calendar.prototype.render=function (){
if(!this.contentEl){
this.initialRender();
}
else if(this.elementVisible()){
this.calcSize();
this.updateViewSize();
}};
Calendar.prototype.initialRender=function (){
var _this=this;
var el=this.el;
el.addClass('fc');
el.on('click.fc', 'a[data-goto]', function (ev){
var anchorEl=$(ev.currentTarget);
var gotoOptions=anchorEl.data('goto');
var date=_this.moment(gotoOptions.date);
var viewType=gotoOptions.type;
var customAction=_this.view.opt('navLink' + util_1.capitaliseFirstLetter(viewType) + 'Click');
if(typeof customAction==='function'){
customAction(date, ev);
}else{
if(typeof customAction==='string'){
viewType=customAction;
}
_this.zoomTo(date, viewType);
}});
this.optionsManager.watch('settingTheme', ['?theme', '?themeSystem'], function (opts){
var themeClass=ThemeRegistry_1.getThemeSystemClass(opts.themeSystem||opts.theme);
var theme=new themeClass(_this.optionsManager);
var widgetClass=theme.getClass('widget');
_this.theme=theme;
if(widgetClass){
el.addClass(widgetClass);
}}, function (){
var widgetClass=_this.theme.getClass('widget');
_this.theme=null;
if(widgetClass){
el.removeClass(widgetClass);
}});
this.optionsManager.watch('settingBusinessHourGenerator', ['?businessHours'], function (deps){
_this.businessHourGenerator=new BusinessHourGenerator_1.default(deps.businessHours, _this);
if(_this.view){
_this.view.set('businessHourGenerator', _this.businessHourGenerator);
}}, function (){
_this.businessHourGenerator=null;
});
this.optionsManager.watch('applyingDirClasses', ['?isRTL', '?locale'], function (opts){
el.toggleClass('fc-ltr', !opts.isRTL);
el.toggleClass('fc-rtl', opts.isRTL);
});
this.contentEl=$("
").prependTo(el);
this.initToolbars();
this.renderHeader();
this.renderFooter();
this.renderView(this.opt('defaultView'));
if(this.opt('handleWindowResize')){
$(window).resize(this.windowResizeProxy=util_1.debounce(this.windowResize.bind(this), this.opt('windowResizeDelay')));
}};
Calendar.prototype.destroy=function (){
if(this.view){
this.clearView();
}
this.toolbarsManager.proxyCall('removeElement');
this.contentEl.remove();
this.el.removeClass('fc fc-ltr fc-rtl');
this.optionsManager.unwatch('settingTheme');
this.optionsManager.unwatch('settingBusinessHourGenerator');
this.el.off('.fc');
if(this.windowResizeProxy){
$(window).unbind('resize', this.windowResizeProxy);
this.windowResizeProxy=null;
}
GlobalEmitter_1.default.unneeded();
};
Calendar.prototype.elementVisible=function (){
return this.el.is(':visible');
};
Calendar.prototype.bindViewHandlers=function (view){
var _this=this;
view.watch('titleForCalendar', ['title'], function (deps){
if(view===_this.view){
_this.setToolbarsTitle(deps.title);
}});
view.watch('dateProfileForCalendar', ['dateProfile'], function (deps){
if(view===_this.view){
_this.currentDate=deps.dateProfile.date;
_this.updateToolbarButtons(deps.dateProfile);
}});
};
Calendar.prototype.unbindViewHandlers=function (view){
view.unwatch('titleForCalendar');
view.unwatch('dateProfileForCalendar');
};
Calendar.prototype.renderView=function (viewType){
var oldView=this.view;
var newView;
this.freezeContentHeight();
if(oldView&&viewType&&oldView.type!==viewType){
this.clearView();
}
if(!this.view&&viewType){
newView=this.view =
this.viewsByType[viewType] ||
(this.viewsByType[viewType]=this.instantiateView(viewType));
this.bindViewHandlers(newView);
newView.startBatchRender();
newView.setElement($("
").appendTo(this.contentEl));
this.toolbarsManager.proxyCall('activateButton', viewType);
}
if(this.view){
if(this.view.get('businessHourGenerator')!==this.businessHourGenerator){
this.view.set('businessHourGenerator', this.businessHourGenerator);
}
this.view.setDate(this.currentDate);
if(newView){
newView.stopBatchRender();
}}
this.thawContentHeight();
};
Calendar.prototype.clearView=function (){
var currentView=this.view;
this.toolbarsManager.proxyCall('deactivateButton', currentView.type);
this.unbindViewHandlers(currentView);
currentView.removeElement();
currentView.unsetDate();
this.view=null;
};
Calendar.prototype.reinitView=function (){
var oldView=this.view;
var scroll=oldView.queryScroll();
this.freezeContentHeight();
this.clearView();
this.calcSize();
this.renderView(oldView.type);
this.view.applyScroll(scroll);
this.thawContentHeight();
};
Calendar.prototype.getSuggestedViewHeight=function (){
if(this.suggestedViewHeight==null){
this.calcSize();
}
return this.suggestedViewHeight;
};
Calendar.prototype.isHeightAuto=function (){
return this.opt('contentHeight')==='auto'||this.opt('height')==='auto';
};
Calendar.prototype.updateViewSize=function (isResize){
if(isResize===void 0){ isResize=false; }
var view=this.view;
var scroll;
if(!this.ignoreUpdateViewSize&&view){
if(isResize){
this.calcSize();
scroll=view.queryScroll();
}
this.ignoreUpdateViewSize++;
view.updateSize(this.getSuggestedViewHeight(), this.isHeightAuto(), isResize);
this.ignoreUpdateViewSize--;
if(isResize){
view.applyScroll(scroll);
}
return true;
}};
Calendar.prototype.calcSize=function (){
if(this.elementVisible()){
this._calcSize();
}};
Calendar.prototype._calcSize=function (){
var contentHeightInput=this.opt('contentHeight');
var heightInput=this.opt('height');
if(typeof contentHeightInput==='number'){
this.suggestedViewHeight=contentHeightInput;
}
else if(typeof contentHeightInput==='function'){
this.suggestedViewHeight=contentHeightInput();
}
else if(typeof heightInput==='number'){
this.suggestedViewHeight=heightInput - this.queryToolbarsHeight();
}
else if(typeof heightInput==='function'){
this.suggestedViewHeight=heightInput() - this.queryToolbarsHeight();
}
else if(heightInput==='parent'){
this.suggestedViewHeight=this.el.parent().height() - this.queryToolbarsHeight();
}else{
this.suggestedViewHeight=Math.round(this.contentEl.width() /
Math.max(this.opt('aspectRatio'), .5));
}};
Calendar.prototype.windowResize=function (ev){
if(ev.target===window &&
this.view &&
this.view.isDatesRendered){
if(this.updateViewSize(true)){
this.publiclyTrigger('windowResize', [this.view]);
}}
};
Calendar.prototype.freezeContentHeight=function (){
if(!(this.freezeContentHeightDepth++)){
this.forceFreezeContentHeight();
}};
Calendar.prototype.forceFreezeContentHeight=function (){
this.contentEl.css({
width: '100%',
height: this.contentEl.height(),
overflow: 'hidden'
});
};
Calendar.prototype.thawContentHeight=function (){
this.freezeContentHeightDepth--;
this.contentEl.css({
width: '',
height: '',
overflow: ''
});
if(this.freezeContentHeightDepth){
this.forceFreezeContentHeight();
}};
Calendar.prototype.initToolbars=function (){
this.header=new Toolbar_1.default(this, this.computeHeaderOptions());
this.footer=new Toolbar_1.default(this, this.computeFooterOptions());
this.toolbarsManager=new Iterator_1.default([this.header, this.footer]);
};
Calendar.prototype.computeHeaderOptions=function (){
return {
extraClasses: 'fc-header-toolbar',
layout: this.opt('header')
};};
Calendar.prototype.computeFooterOptions=function (){
return {
extraClasses: 'fc-footer-toolbar',
layout: this.opt('footer')
};};
Calendar.prototype.renderHeader=function (){
var header=this.header;
header.setToolbarOptions(this.computeHeaderOptions());
header.render();
if(header.el){
this.el.prepend(header.el);
}};
Calendar.prototype.renderFooter=function (){
var footer=this.footer;
footer.setToolbarOptions(this.computeFooterOptions());
footer.render();
if(footer.el){
this.el.append(footer.el);
}};
Calendar.prototype.setToolbarsTitle=function (title){
this.toolbarsManager.proxyCall('updateTitle', title);
};
Calendar.prototype.updateToolbarButtons=function (dateProfile){
var now=this.getNow();
var view=this.view;
var todayInfo=view.dateProfileGenerator.build(now);
var prevInfo=view.dateProfileGenerator.buildPrev(view.get('dateProfile'));
var nextInfo=view.dateProfileGenerator.buildNext(view.get('dateProfile'));
this.toolbarsManager.proxyCall((todayInfo.isValid&&!dateProfile.currentUnzonedRange.containsDate(now)) ?
'enableButton' :
'disableButton', 'today');
this.toolbarsManager.proxyCall(prevInfo.isValid ?
'enableButton' :
'disableButton', 'prev');
this.toolbarsManager.proxyCall(nextInfo.isValid ?
'enableButton' :
'disableButton', 'next');
};
Calendar.prototype.queryToolbarsHeight=function (){
return this.toolbarsManager.items.reduce(function (accumulator, toolbar){
var toolbarHeight=toolbar.el ? toolbar.el.outerHeight(true):0;
return accumulator + toolbarHeight;
}, 0);
};
Calendar.prototype.select=function (zonedStartInput, zonedEndInput){
this.view.select(this.buildSelectFootprint.apply(this, arguments));
};
Calendar.prototype.unselect=function (){
if(this.view){
this.view.unselect();
}};
Calendar.prototype.buildSelectFootprint=function (zonedStartInput, zonedEndInput){
var start=this.moment(zonedStartInput).stripZone();
var end;
if(zonedEndInput){
end=this.moment(zonedEndInput).stripZone();
}
else if(start.hasTime()){
end=start.clone().add(this.defaultTimedEventDuration);
}else{
end=start.clone().add(this.defaultAllDayEventDuration);
}
return new ComponentFootprint_1.default(new UnzonedRange_1.default(start, end), !start.hasTime());
};
Calendar.prototype.initMomentInternals=function (){
var _this=this;
this.defaultAllDayEventDuration=moment.duration(this.opt('defaultAllDayEventDuration'));
this.defaultTimedEventDuration=moment.duration(this.opt('defaultTimedEventDuration'));
this.optionsManager.watch('buildingMomentLocale', [
'?locale', '?monthNames', '?monthNamesShort', '?dayNames', '?dayNamesShort',
'?firstDay', '?weekNumberCalculation'
], function (opts){
var weekNumberCalculation=opts.weekNumberCalculation;
var firstDay=opts.firstDay;
var _week;
if(weekNumberCalculation==='iso'){
weekNumberCalculation='ISO';
}
var localeData=Object.create(locale_1.getMomentLocaleData(opts.locale)
);
if(opts.monthNames){
localeData._months=opts.monthNames;
}
if(opts.monthNamesShort){
localeData._monthsShort=opts.monthNamesShort;
}
if(opts.dayNames){
localeData._weekdays=opts.dayNames;
}
if(opts.dayNamesShort){
localeData._weekdaysShort=opts.dayNamesShort;
}
if(firstDay==null&&weekNumberCalculation==='ISO'){
firstDay=1;
}
if(firstDay!=null){
_week=Object.create(localeData._week);
_week.dow=firstDay;
localeData._week=_week;
}
if(weekNumberCalculation==='ISO' ||
weekNumberCalculation==='local' ||
typeof weekNumberCalculation==='function'){
localeData._fullCalendar_weekCalc=weekNumberCalculation;
}
_this.localeData=localeData;
if(_this.currentDate){
_this.localizeMoment(_this.currentDate);
}});
};
Calendar.prototype.moment=function (){
var args=[];
for (var _i=0; _i < arguments.length; _i++){
args[_i]=arguments[_i];
}
var mom;
if(this.opt('timezone')==='local'){
mom=moment_ext_1.default.apply(null, args);
if(mom.hasTime()){
mom.local();
}}
else if(this.opt('timezone')==='UTC'){
mom=moment_ext_1.default.utc.apply(null, args);
}else{
mom=moment_ext_1.default.parseZone.apply(null, args);
}
this.localizeMoment(mom);
return mom;
};
Calendar.prototype.msToMoment=function (ms, forceAllDay){
var mom=moment_ext_1.default.utc(ms);
if(forceAllDay){
mom.stripTime();
}else{
mom=this.applyTimezone(mom);
}
this.localizeMoment(mom);
return mom;
};
Calendar.prototype.msToUtcMoment=function (ms, forceAllDay){
var mom=moment_ext_1.default.utc(ms);
if(forceAllDay){
mom.stripTime();
}
this.localizeMoment(mom);
return mom;
};
Calendar.prototype.localizeMoment=function (mom){
mom._locale=this.localeData;
};
Calendar.prototype.getIsAmbigTimezone=function (){
return this.opt('timezone')!=='local'&&this.opt('timezone')!=='UTC';
};
Calendar.prototype.applyTimezone=function (date){
if(!date.hasTime()){
return date.clone();
}
var zonedDate=this.moment(date.toArray());
var timeAdjust=date.time().asMilliseconds() - zonedDate.time().asMilliseconds();
var adjustedZonedDate;
if(timeAdjust){
adjustedZonedDate=zonedDate.clone().add(timeAdjust);
if(date.time().asMilliseconds() - adjustedZonedDate.time().asMilliseconds()===0){
zonedDate=adjustedZonedDate;
}}
return zonedDate;
};
Calendar.prototype.footprintToDateProfile=function (componentFootprint, ignoreEnd){
if(ignoreEnd===void 0){ ignoreEnd=false; }
var start=moment_ext_1.default.utc(componentFootprint.unzonedRange.startMs);
var end;
if(!ignoreEnd){
end=moment_ext_1.default.utc(componentFootprint.unzonedRange.endMs);
}
if(componentFootprint.isAllDay){
start.stripTime();
if(end){
end.stripTime();
}}else{
start=this.applyTimezone(start);
if(end){
end=this.applyTimezone(end);
}}
return new EventDateProfile_1.default(start, end, this);
};
Calendar.prototype.getNow=function (){
var now=this.opt('now');
if(typeof now==='function'){
now=now();
}
return this.moment(now).stripZone();
};
Calendar.prototype.humanizeDuration=function (duration){
return duration.locale(this.opt('locale')).humanize();
};
Calendar.prototype.parseUnzonedRange=function (rangeInput){
var start=null;
var end=null;
if(rangeInput.start){
start=this.moment(rangeInput.start).stripZone();
}
if(rangeInput.end){
end=this.moment(rangeInput.end).stripZone();
}
if(!start&&!end){
return null;
}
if(start&&end&&end.isBefore(start)){
return null;
}
return new UnzonedRange_1.default(start, end);
};
Calendar.prototype.initEventManager=function (){
var _this=this;
var eventManager=new EventManager_1.default(this);
var rawSources=this.opt('eventSources')||[];
var singleRawSource=this.opt('events');
this.eventManager=eventManager;
if(singleRawSource){
rawSources.unshift(singleRawSource);
}
eventManager.on('release', function (eventsPayload){
_this.trigger('eventsReset', eventsPayload);
});
eventManager.freeze();
rawSources.forEach(function (rawSource){
var source=EventSourceParser_1.default.parse(rawSource, _this);
if(source){
eventManager.addSource(source);
}});
eventManager.thaw();
};
Calendar.prototype.requestEvents=function (start, end){
return this.eventManager.requestEvents(start, end, this.opt('timezone'), !this.opt('lazyFetching'));
};
Calendar.prototype.getEventEnd=function (event){
if(event.end){
return event.end.clone();
}else{
return this.getDefaultEventEnd(event.allDay, event.start);
}};
Calendar.prototype.getDefaultEventEnd=function (allDay, zonedStart){
var end=zonedStart.clone();
if(allDay){
end.stripTime().add(this.defaultAllDayEventDuration);
}else{
end.add(this.defaultTimedEventDuration);
}
if(this.getIsAmbigTimezone()){
end.stripZone();
}
return end;
};
Calendar.prototype.rerenderEvents=function (){
this.view.flash('displayingEvents');
};
Calendar.prototype.refetchEvents=function (){
this.eventManager.refetchAllSources();
};
Calendar.prototype.renderEvents=function (eventInputs, isSticky){
this.eventManager.freeze();
for (var i=0; i < eventInputs.length; i++){
this.renderEvent(eventInputs[i], isSticky);
}
this.eventManager.thaw();
};
Calendar.prototype.renderEvent=function (eventInput, isSticky){
if(isSticky===void 0){ isSticky=false; }
var eventManager=this.eventManager;
var eventDef=EventDefParser_1.default.parse(eventInput, eventInput.source||eventManager.stickySource);
if(eventDef){
eventManager.addEventDef(eventDef, isSticky);
}};
Calendar.prototype.removeEvents=function (legacyQuery){
var eventManager=this.eventManager;
var legacyInstances=[];
var idMap={};
var eventDef;
var i;
if(legacyQuery==null){
eventManager.removeAllEventDefs();
}else{
eventManager.getEventInstances().forEach(function (eventInstance){
legacyInstances.push(eventInstance.toLegacy());
});
legacyInstances=filterLegacyEventInstances(legacyInstances, legacyQuery);
for (i=0; i < legacyInstances.length; i++){
eventDef=this.eventManager.getEventDefByUid(legacyInstances[i]._id);
idMap[eventDef.id]=true;
}
eventManager.freeze();
for (i in idMap){
eventManager.removeEventDefsById(i);
}
eventManager.thaw();
}};
Calendar.prototype.clientEvents=function (legacyQuery){
var legacyEventInstances=[];
this.eventManager.getEventInstances().forEach(function (eventInstance){
legacyEventInstances.push(eventInstance.toLegacy());
});
return filterLegacyEventInstances(legacyEventInstances, legacyQuery);
};
Calendar.prototype.updateEvents=function (eventPropsArray){
this.eventManager.freeze();
for (var i=0; i < eventPropsArray.length; i++){
this.updateEvent(eventPropsArray[i]);
}
this.eventManager.thaw();
};
Calendar.prototype.updateEvent=function (eventProps){
var eventDef=this.eventManager.getEventDefByUid(eventProps._id);
var eventInstance;
var eventDefMutation;
if(eventDef instanceof SingleEventDef_1.default){
eventInstance=eventDef.buildInstance();
eventDefMutation=EventDefMutation_1.default.createFromRawProps(eventInstance, eventProps,
null
);
this.eventManager.mutateEventsWithId(eventDef.id, eventDefMutation);
}};
Calendar.prototype.getEventSources=function (){
return this.eventManager.otherSources.slice();
};
Calendar.prototype.getEventSourceById=function (id){
return this.eventManager.getSourceById(EventSource_1.default.normalizeId(id));
};
Calendar.prototype.addEventSource=function (sourceInput){
var source=EventSourceParser_1.default.parse(sourceInput, this);
if(source){
this.eventManager.addSource(source);
}};
Calendar.prototype.removeEventSources=function (sourceMultiQuery){
var eventManager=this.eventManager;
var sources;
var i;
if(sourceMultiQuery==null){
this.eventManager.removeAllSources();
}else{
sources=eventManager.multiQuerySources(sourceMultiQuery);
eventManager.freeze();
for (i=0; i < sources.length; i++){
eventManager.removeSource(sources[i]);
}
eventManager.thaw();
}};
Calendar.prototype.removeEventSource=function (sourceQuery){
var eventManager=this.eventManager;
var sources=eventManager.querySources(sourceQuery);
var i;
eventManager.freeze();
for (i=0; i < sources.length; i++){
eventManager.removeSource(sources[i]);
}
eventManager.thaw();
};
Calendar.prototype.refetchEventSources=function (sourceMultiQuery){
var eventManager=this.eventManager;
var sources=eventManager.multiQuerySources(sourceMultiQuery);
var i;
eventManager.freeze();
for (i=0; i < sources.length; i++){
eventManager.refetchSource(sources[i]);
}
eventManager.thaw();
};
Calendar.defaults=options_1.globalDefaults;
Calendar.englishDefaults=options_1.englishDefaults;
Calendar.rtlDefaults=options_1.rtlDefaults;
return Calendar;
}());
exports.default=Calendar;
EmitterMixin_1.default.mixInto(Calendar);
ListenerMixin_1.default.mixInto(Calendar);
function filterLegacyEventInstances(legacyEventInstances, legacyQuery){
if(legacyQuery==null){
return legacyEventInstances;
}
else if($.isFunction(legacyQuery)){
return legacyEventInstances.filter(legacyQuery);
}else{
legacyQuery +='';
return legacyEventInstances.filter(function (legacyEventInstance){
return legacyEventInstance.id==legacyQuery ||
legacyEventInstance._id===legacyQuery;
});
}}
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var moment=__webpack_require__(0);
var util_1=__webpack_require__(4);
var UnzonedRange_1=__webpack_require__(5);
var DateProfileGenerator= (function (){
function DateProfileGenerator(_view){
this._view=_view;
}
DateProfileGenerator.prototype.opt=function (name){
return this._view.opt(name);
};
DateProfileGenerator.prototype.trimHiddenDays=function (unzonedRange){
return this._view.trimHiddenDays(unzonedRange);
};
DateProfileGenerator.prototype.msToUtcMoment=function (ms, forceAllDay){
return this._view.calendar.msToUtcMoment(ms, forceAllDay);
};
DateProfileGenerator.prototype.buildPrev=function (currentDateProfile){
var prevDate=currentDateProfile.date.clone()
.startOf(currentDateProfile.currentRangeUnit)
.subtract(currentDateProfile.dateIncrement);
return this.build(prevDate, -1);
};
DateProfileGenerator.prototype.buildNext=function (currentDateProfile){
var nextDate=currentDateProfile.date.clone()
.startOf(currentDateProfile.currentRangeUnit)
.add(currentDateProfile.dateIncrement);
return this.build(nextDate, 1);
};
DateProfileGenerator.prototype.build=function (date, direction, forceToValid){
if(forceToValid===void 0){ forceToValid=false; }
var isDateAllDay = !date.hasTime();
var validUnzonedRange;
var minTime=null;
var maxTime=null;
var currentInfo;
var isRangeAllDay;
var renderUnzonedRange;
var activeUnzonedRange;
var isValid;
validUnzonedRange=this.buildValidRange();
validUnzonedRange=this.trimHiddenDays(validUnzonedRange);
if(forceToValid){
date=this.msToUtcMoment(validUnzonedRange.constrainDate(date),
isDateAllDay);
}
currentInfo=this.buildCurrentRangeInfo(date, direction);
isRangeAllDay=/^(year|month|week|day)$/.test(currentInfo.unit);
renderUnzonedRange=this.buildRenderRange(this.trimHiddenDays(currentInfo.unzonedRange), currentInfo.unit, isRangeAllDay);
renderUnzonedRange=this.trimHiddenDays(renderUnzonedRange);
activeUnzonedRange=renderUnzonedRange.clone();
if(!this.opt('showNonCurrentDates')){
activeUnzonedRange=activeUnzonedRange.intersect(currentInfo.unzonedRange);
}
minTime=moment.duration(this.opt('minTime'));
maxTime=moment.duration(this.opt('maxTime'));
activeUnzonedRange=this.adjustActiveRange(activeUnzonedRange, minTime, maxTime);
activeUnzonedRange=activeUnzonedRange.intersect(validUnzonedRange);
if(activeUnzonedRange){
date=this.msToUtcMoment(activeUnzonedRange.constrainDate(date),
isDateAllDay);
}
isValid=currentInfo.unzonedRange.intersectsWith(validUnzonedRange);
return {
validUnzonedRange: validUnzonedRange,
currentUnzonedRange: currentInfo.unzonedRange,
currentRangeUnit: currentInfo.unit,
isRangeAllDay: isRangeAllDay,
activeUnzonedRange: activeUnzonedRange,
renderUnzonedRange: renderUnzonedRange,
minTime: minTime,
maxTime: maxTime,
isValid: isValid,
date: date,
dateIncrement: this.buildDateIncrement(currentInfo.duration)
};};
DateProfileGenerator.prototype.buildValidRange=function (){
return this._view.getUnzonedRangeOption('validRange', this._view.calendar.getNow()) ||
new UnzonedRange_1.default();
};
DateProfileGenerator.prototype.buildCurrentRangeInfo=function (date, direction){
var viewSpec=this._view.viewSpec;
var duration=null;
var unit=null;
var unzonedRange=null;
var dayCount;
if(viewSpec.duration){
duration=viewSpec.duration;
unit=viewSpec.durationUnit;
unzonedRange=this.buildRangeFromDuration(date, direction, duration, unit);
}
else if((dayCount=this.opt('dayCount'))){
unit='day';
unzonedRange=this.buildRangeFromDayCount(date, direction, dayCount);
}
else if((unzonedRange=this.buildCustomVisibleRange(date))){
unit=util_1.computeGreatestUnit(unzonedRange.getStart(), unzonedRange.getEnd());
}else{
duration=this.getFallbackDuration();
unit=util_1.computeGreatestUnit(duration);
unzonedRange=this.buildRangeFromDuration(date, direction, duration, unit);
}
return { duration: duration, unit: unit, unzonedRange: unzonedRange };};
DateProfileGenerator.prototype.getFallbackDuration=function (){
return moment.duration({ days: 1 });
};
DateProfileGenerator.prototype.adjustActiveRange=function (unzonedRange, minTime, maxTime){
var start=unzonedRange.getStart();
var end=unzonedRange.getEnd();
if(this._view.usesMinMaxTime){
if(minTime < 0){
start.time(0).add(minTime);
}
if(maxTime > 24 * 60 * 60 * 1000){
end.time(maxTime - (24 * 60 * 60 * 1000));
}}
return new UnzonedRange_1.default(start, end);
};
DateProfileGenerator.prototype.buildRangeFromDuration=function (date, direction, duration, unit){
var alignment=this.opt('dateAlignment');
var dateIncrementInput;
var dateIncrementDuration;
var start;
var end;
var res;
if(!alignment){
dateIncrementInput=this.opt('dateIncrement');
if(dateIncrementInput){
dateIncrementDuration=moment.duration(dateIncrementInput);
if(dateIncrementDuration < duration){
alignment=util_1.computeDurationGreatestUnit(dateIncrementDuration, dateIncrementInput);
}else{
alignment=unit;
}}else{
alignment=unit;
}}
if(duration.as('days') <=1){
if(this._view.isHiddenDay(start)){
start=this._view.skipHiddenDays(start, direction);
start.startOf('day');
}}
function computeRes(){
start=date.clone().startOf(alignment);
end=start.clone().add(duration);
res=new UnzonedRange_1.default(start, end);
}
computeRes();
if(!this.trimHiddenDays(res)){
date=this._view.skipHiddenDays(date, direction);
computeRes();
}
return res;
};
DateProfileGenerator.prototype.buildRangeFromDayCount=function (date, direction, dayCount){
var customAlignment=this.opt('dateAlignment');
var runningCount=0;
var start=date.clone();
var end;
if(customAlignment){
start.startOf(customAlignment);
}
start.startOf('day');
start=this._view.skipHiddenDays(start, direction);
end=start.clone();
do {
end.add(1, 'day');
if(!this._view.isHiddenDay(end)){
runningCount++;
}} while (runningCount < dayCount);
return new UnzonedRange_1.default(start, end);
};
DateProfileGenerator.prototype.buildCustomVisibleRange=function (date){
var visibleUnzonedRange=this._view.getUnzonedRangeOption('visibleRange', this._view.calendar.applyTimezone(date)
);
if(visibleUnzonedRange&&(visibleUnzonedRange.startMs==null||visibleUnzonedRange.endMs==null)){
return null;
}
return visibleUnzonedRange;
};
DateProfileGenerator.prototype.buildRenderRange=function (currentUnzonedRange, currentRangeUnit, isRangeAllDay){
return currentUnzonedRange.clone();
};
DateProfileGenerator.prototype.buildDateIncrement=function (fallback){
var dateIncrementInput=this.opt('dateIncrement');
var customAlignment;
if(dateIncrementInput){
return moment.duration(dateIncrementInput);
}
else if((customAlignment=this.opt('dateAlignment'))){
return moment.duration(1, customAlignment);
}
else if(fallback){
return fallback;
}else{
return moment.duration({ days: 1 });
}};
return DateProfileGenerator;
}());
exports.default=DateProfileGenerator;
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1=__webpack_require__(2);
var $=__webpack_require__(3);
var moment=__webpack_require__(0);
var exportHooks=__webpack_require__(16);
var util_1=__webpack_require__(4);
var moment_ext_1=__webpack_require__(10);
var ListenerMixin_1=__webpack_require__(7);
var HitDragListener_1=__webpack_require__(23);
var SingleEventDef_1=__webpack_require__(13);
var EventInstanceGroup_1=__webpack_require__(18);
var EventSource_1=__webpack_require__(6);
var Interaction_1=__webpack_require__(15);
var ExternalDropping= (function (_super){
tslib_1.__extends(ExternalDropping, _super);
function ExternalDropping(){
var _this=_super!==null&&_super.apply(this, arguments)||this;
_this.isDragging=false;
return _this;
}
ExternalDropping.prototype.end=function (){
if(this.dragListener){
this.dragListener.endInteraction();
}};
ExternalDropping.prototype.bindToDocument=function (){
this.listenTo($(document), {
dragstart: this.handleDragStart,
sortstart: this.handleDragStart
});
};
ExternalDropping.prototype.unbindFromDocument=function (){
this.stopListeningTo($(document));
};
ExternalDropping.prototype.handleDragStart=function (ev, ui){
var el;
var accept;
if(this.opt('droppable')){
el=$((ui ? ui.item:null)||ev.target);
accept=this.opt('dropAccept');
if($.isFunction(accept) ? accept.call(el[0], el):el.is(accept)){
if(!this.isDragging){
this.listenToExternalDrag(el, ev, ui);
}}
}};
ExternalDropping.prototype.listenToExternalDrag=function (el, ev, ui){
var _this=this;
var component=this.component;
var view=this.view;
var meta=getDraggedElMeta(el);
var singleEventDef;
var dragListener=this.dragListener=new HitDragListener_1.default(component, {
interactionStart: function (){
_this.isDragging=true;
},
hitOver: function (hit){
var isAllowed=true;
var hitFootprint=hit.component.getSafeHitFootprint(hit);
var mutatedEventInstanceGroup;
if(hitFootprint){
singleEventDef=_this.computeExternalDrop(hitFootprint, meta);
if(singleEventDef){
mutatedEventInstanceGroup=new EventInstanceGroup_1.default(singleEventDef.buildInstances());
isAllowed=meta.eventProps ?
component.isEventInstanceGroupAllowed(mutatedEventInstanceGroup) :
component.isExternalInstanceGroupAllowed(mutatedEventInstanceGroup);
}else{
isAllowed=false;
}}else{
isAllowed=false;
}
if(!isAllowed){
singleEventDef=null;
util_1.disableCursor();
}
if(singleEventDef){
component.renderDrag(component.eventRangesToEventFootprints(mutatedEventInstanceGroup.sliceRenderRanges(component.dateProfile.renderUnzonedRange, view.calendar)));
}},
hitOut: function (){
singleEventDef=null;
},
hitDone: function (){
util_1.enableCursor();
component.unrenderDrag();
},
interactionEnd: function (ev){
if(singleEventDef){
view.reportExternalDrop(singleEventDef, Boolean(meta.eventProps),
Boolean(meta.stick),
el, ev, ui);
}
_this.isDragging=false;
_this.dragListener=null;
}});
dragListener.startDrag(ev);
};
ExternalDropping.prototype.computeExternalDrop=function (componentFootprint, meta){
var calendar=this.view.calendar;
var start=moment_ext_1.default.utc(componentFootprint.unzonedRange.startMs).stripZone();
var end;
var eventDef;
if(componentFootprint.isAllDay){
if(meta.startTime){
start.time(meta.startTime);
}else{
start.stripTime();
}}
if(meta.duration){
end=start.clone().add(meta.duration);
}
start=calendar.applyTimezone(start);
if(end){
end=calendar.applyTimezone(end);
}
eventDef=SingleEventDef_1.default.parse($.extend({}, meta.eventProps, {
start: start,
end: end
}), new EventSource_1.default(calendar));
return eventDef;
};
return ExternalDropping;
}(Interaction_1.default));
exports.default=ExternalDropping;
ListenerMixin_1.default.mixInto(ExternalDropping);
exportHooks.dataAttrPrefix='';
function getDraggedElMeta(el){
var prefix=exportHooks.dataAttrPrefix;
var eventProps;
var startTime;
var duration;
var stick;
if(prefix){
prefix +='-';
}
eventProps=el.data(prefix + 'event')||null;
if(eventProps){
if(typeof eventProps==='object'){
eventProps=$.extend({}, eventProps);
}else{
eventProps={};}
startTime=eventProps.start;
if(startTime==null){
startTime=eventProps.time;
}
duration=eventProps.duration;
stick=eventProps.stick;
delete eventProps.start;
delete eventProps.time;
delete eventProps.duration;
delete eventProps.stick;
}
if(startTime==null){
startTime=el.data(prefix + 'start');
}
if(startTime==null){
startTime=el.data(prefix + 'time');
}
if(duration==null){
duration=el.data(prefix + 'duration');
}
if(stick==null){
stick=el.data(prefix + 'stick');
}
startTime=startTime!=null ? moment.duration(startTime):null;
duration=duration!=null ? moment.duration(duration):null;
stick=Boolean(stick);
return { eventProps: eventProps, startTime: startTime, duration: duration, stick: stick };}
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1=__webpack_require__(2);
var $=__webpack_require__(3);
var util_1=__webpack_require__(4);
var EventDefMutation_1=__webpack_require__(37);
var EventDefDateMutation_1=__webpack_require__(50);
var HitDragListener_1=__webpack_require__(23);
var Interaction_1=__webpack_require__(15);
var EventResizing= (function (_super){
tslib_1.__extends(EventResizing, _super);
function EventResizing(component, eventPointing){
var _this=_super.call(this, component)||this;
_this.isResizing=false;
_this.eventPointing=eventPointing;
return _this;
}
EventResizing.prototype.end=function (){
if(this.dragListener){
this.dragListener.endInteraction();
}};
EventResizing.prototype.bindToEl=function (el){
var component=this.component;
component.bindSegHandlerToEl(el, 'mousedown', this.handleMouseDown.bind(this));
component.bindSegHandlerToEl(el, 'touchstart', this.handleTouchStart.bind(this));
};
EventResizing.prototype.handleMouseDown=function (seg, ev){
if(this.component.canStartResize(seg, ev)){
this.buildDragListener(seg, $(ev.target).is('.fc-start-resizer'))
.startInteraction(ev, { distance: 5 });
}};
EventResizing.prototype.handleTouchStart=function (seg, ev){
if(this.component.canStartResize(seg, ev)){
this.buildDragListener(seg, $(ev.target).is('.fc-start-resizer'))
.startInteraction(ev);
}};
EventResizing.prototype.buildDragListener=function (seg, isStart){
var _this=this;
var component=this.component;
var view=this.view;
var calendar=view.calendar;
var eventManager=calendar.eventManager;
var el=seg.el;
var eventDef=seg.footprint.eventDef;
var eventInstance=seg.footprint.eventInstance;
var isDragging;
var resizeMutation;
var dragListener=this.dragListener=new HitDragListener_1.default(component, {
scroll: this.opt('dragScroll'),
subjectEl: el,
interactionStart: function (){
isDragging=false;
},
dragStart: function (ev){
isDragging=true;
_this.eventPointing.handleMouseout(seg, ev);
_this.segResizeStart(seg, ev);
},
hitOver: function (hit, isOrig, origHit){
var isAllowed=true;
var origHitFootprint=component.getSafeHitFootprint(origHit);
var hitFootprint=component.getSafeHitFootprint(hit);
var mutatedEventInstanceGroup;
if(origHitFootprint&&hitFootprint){
resizeMutation=isStart ?
_this.computeEventStartResizeMutation(origHitFootprint, hitFootprint, seg.footprint) :
_this.computeEventEndResizeMutation(origHitFootprint, hitFootprint, seg.footprint);
if(resizeMutation){
mutatedEventInstanceGroup=eventManager.buildMutatedEventInstanceGroup(eventDef.id, resizeMutation);
isAllowed=component.isEventInstanceGroupAllowed(mutatedEventInstanceGroup);
}else{
isAllowed=false;
}}else{
isAllowed=false;
}
if(!isAllowed){
resizeMutation=null;
util_1.disableCursor();
}
else if(resizeMutation.isEmpty()){
resizeMutation=null;
}
if(resizeMutation){
view.hideEventsWithId(seg.footprint.eventDef.id);
view.renderEventResize(component.eventRangesToEventFootprints(mutatedEventInstanceGroup.sliceRenderRanges(component.dateProfile.renderUnzonedRange, calendar)), seg);
}},
hitOut: function (){
resizeMutation=null;
},
hitDone: function (){
view.unrenderEventResize(seg);
view.showEventsWithId(seg.footprint.eventDef.id);
util_1.enableCursor();
},
interactionEnd: function (ev){
if(isDragging){
_this.segResizeStop(seg, ev);
}
if(resizeMutation){
view.reportEventResize(eventInstance, resizeMutation, el, ev);
}
_this.dragListener=null;
}});
return dragListener;
};
EventResizing.prototype.segResizeStart=function (seg, ev){
this.isResizing=true;
this.component.publiclyTrigger('eventResizeStart', {
context: seg.el[0],
args: [
seg.footprint.getEventLegacy(),
ev,
{},
this.view
]
});
};
EventResizing.prototype.segResizeStop=function (seg, ev){
this.isResizing=false;
this.component.publiclyTrigger('eventResizeStop', {
context: seg.el[0],
args: [
seg.footprint.getEventLegacy(),
ev,
{},
this.view
]
});
};
EventResizing.prototype.computeEventStartResizeMutation=function (startFootprint, endFootprint, origEventFootprint){
var origRange=origEventFootprint.componentFootprint.unzonedRange;
var startDelta=this.component.diffDates(endFootprint.unzonedRange.getStart(), startFootprint.unzonedRange.getStart());
var dateMutation;
var eventDefMutation;
if(origRange.getStart().add(startDelta) < origRange.getEnd()){
dateMutation=new EventDefDateMutation_1.default();
dateMutation.setStartDelta(startDelta);
eventDefMutation=new EventDefMutation_1.default();
eventDefMutation.setDateMutation(dateMutation);
return eventDefMutation;
}
return false;
};
EventResizing.prototype.computeEventEndResizeMutation=function (startFootprint, endFootprint, origEventFootprint){
var origRange=origEventFootprint.componentFootprint.unzonedRange;
var endDelta=this.component.diffDates(endFootprint.unzonedRange.getEnd(), startFootprint.unzonedRange.getEnd());
var dateMutation;
var eventDefMutation;
if(origRange.getEnd().add(endDelta) > origRange.getStart()){
dateMutation=new EventDefDateMutation_1.default();
dateMutation.setEndDelta(endDelta);
eventDefMutation=new EventDefMutation_1.default();
eventDefMutation.setDateMutation(dateMutation);
return eventDefMutation;
}
return false;
};
return EventResizing;
}(Interaction_1.default));
exports.default=EventResizing;
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1=__webpack_require__(2);
var util_1=__webpack_require__(4);
var EventDefMutation_1=__webpack_require__(37);
var EventDefDateMutation_1=__webpack_require__(50);
var DragListener_1=__webpack_require__(54);
var HitDragListener_1=__webpack_require__(23);
var MouseFollower_1=__webpack_require__(244);
var Interaction_1=__webpack_require__(15);
var EventDragging= (function (_super){
tslib_1.__extends(EventDragging, _super);
function EventDragging(component, eventPointing){
var _this=_super.call(this, component)||this;
_this.isDragging=false;
_this.eventPointing=eventPointing;
return _this;
}
EventDragging.prototype.end=function (){
if(this.dragListener){
this.dragListener.endInteraction();
}};
EventDragging.prototype.getSelectionDelay=function (){
var delay=this.opt('eventLongPressDelay');
if(delay==null){
delay=this.opt('longPressDelay');
}
return delay;
};
EventDragging.prototype.bindToEl=function (el){
var component=this.component;
component.bindSegHandlerToEl(el, 'mousedown', this.handleMousedown.bind(this));
component.bindSegHandlerToEl(el, 'touchstart', this.handleTouchStart.bind(this));
};
EventDragging.prototype.handleMousedown=function (seg, ev){
if(!this.component.shouldIgnoreMouse() &&
this.component.canStartDrag(seg, ev)){
this.buildDragListener(seg).startInteraction(ev, { distance: 5 });
}};
EventDragging.prototype.handleTouchStart=function (seg, ev){
var component=this.component;
var settings={
delay: this.view.isEventDefSelected(seg.footprint.eventDef) ?
0:this.getSelectionDelay()
};
if(component.canStartDrag(seg, ev)){
this.buildDragListener(seg).startInteraction(ev, settings);
}
else if(component.canStartSelection(seg, ev)){
this.buildSelectListener(seg).startInteraction(ev, settings);
}};
EventDragging.prototype.buildSelectListener=function (seg){
var _this=this;
var view=this.view;
var eventDef=seg.footprint.eventDef;
var eventInstance=seg.footprint.eventInstance;
if(this.dragListener){
return this.dragListener;
}
var dragListener=this.dragListener=new DragListener_1.default({
dragStart: function (ev){
if(dragListener.isTouch &&
!view.isEventDefSelected(eventDef) &&
eventInstance){
view.selectEventInstance(eventInstance);
}},
interactionEnd: function (ev){
_this.dragListener=null;
}});
return dragListener;
};
EventDragging.prototype.buildDragListener=function (seg){
var _this=this;
var component=this.component;
var view=this.view;
var calendar=view.calendar;
var eventManager=calendar.eventManager;
var el=seg.el;
var eventDef=seg.footprint.eventDef;
var eventInstance=seg.footprint.eventInstance;
var isDragging;
var mouseFollower;
var eventDefMutation;
if(this.dragListener){
return this.dragListener;
}
var dragListener=this.dragListener=new HitDragListener_1.default(view, {
scroll: this.opt('dragScroll'),
subjectEl: el,
subjectCenter: true,
interactionStart: function (ev){
seg.component=component;
isDragging=false;
mouseFollower=new MouseFollower_1.default(seg.el, {
additionalClass: 'fc-dragging',
parentEl: view.el,
opacity: dragListener.isTouch ? null:_this.opt('dragOpacity'),
revertDuration: _this.opt('dragRevertDuration'),
zIndex: 2
});
mouseFollower.hide();
mouseFollower.start(ev);
},
dragStart: function (ev){
if(dragListener.isTouch &&
!view.isEventDefSelected(eventDef) &&
eventInstance){
view.selectEventInstance(eventInstance);
}
isDragging=true;
_this.eventPointing.handleMouseout(seg, ev);
_this.segDragStart(seg, ev);
view.hideEventsWithId(seg.footprint.eventDef.id);
},
hitOver: function (hit, isOrig, origHit){
var isAllowed=true;
var origFootprint;
var footprint;
var mutatedEventInstanceGroup;
if(seg.hit){
origHit=seg.hit;
}
origFootprint=origHit.component.getSafeHitFootprint(origHit);
footprint=hit.component.getSafeHitFootprint(hit);
if(origFootprint&&footprint){
eventDefMutation=_this.computeEventDropMutation(origFootprint, footprint, eventDef);
if(eventDefMutation){
mutatedEventInstanceGroup=eventManager.buildMutatedEventInstanceGroup(eventDef.id, eventDefMutation);
isAllowed=component.isEventInstanceGroupAllowed(mutatedEventInstanceGroup);
}else{
isAllowed=false;
}}else{
isAllowed=false;
}
if(!isAllowed){
eventDefMutation=null;
util_1.disableCursor();
}
if(eventDefMutation &&
view.renderDrag(component.eventRangesToEventFootprints(mutatedEventInstanceGroup.sliceRenderRanges(component.dateProfile.renderUnzonedRange, calendar)), seg, dragListener.isTouch)){
mouseFollower.hide();
}else{
mouseFollower.show();
}
if(isOrig){
eventDefMutation=null;
}},
hitOut: function (){
view.unrenderDrag(seg);
mouseFollower.show();
eventDefMutation=null;
},
hitDone: function (){
util_1.enableCursor();
},
interactionEnd: function (ev){
delete seg.component;
mouseFollower.stop(!eventDefMutation, function (){
if(isDragging){
view.unrenderDrag(seg);
_this.segDragStop(seg, ev);
}
view.showEventsWithId(seg.footprint.eventDef.id);
if(eventDefMutation){
view.reportEventDrop(eventInstance, eventDefMutation, el, ev);
}});
_this.dragListener=null;
}});
return dragListener;
};
EventDragging.prototype.segDragStart=function (seg, ev){
this.isDragging=true;
this.component.publiclyTrigger('eventDragStart', {
context: seg.el[0],
args: [
seg.footprint.getEventLegacy(),
ev,
{},
this.view
]
});
};
EventDragging.prototype.segDragStop=function (seg, ev){
this.isDragging=false;
this.component.publiclyTrigger('eventDragStop', {
context: seg.el[0],
args: [
seg.footprint.getEventLegacy(),
ev,
{},
this.view
]
});
};
EventDragging.prototype.computeEventDropMutation=function (startFootprint, endFootprint, eventDef){
var eventDefMutation=new EventDefMutation_1.default();
eventDefMutation.setDateMutation(this.computeEventDateMutation(startFootprint, endFootprint));
return eventDefMutation;
};
EventDragging.prototype.computeEventDateMutation=function (startFootprint, endFootprint){
var date0=startFootprint.unzonedRange.getStart();
var date1=endFootprint.unzonedRange.getStart();
var clearEnd=false;
var forceTimed=false;
var forceAllDay=false;
var dateDelta;
var dateMutation;
if(startFootprint.isAllDay!==endFootprint.isAllDay){
clearEnd=true;
if(endFootprint.isAllDay){
forceAllDay=true;
date0.stripTime();
}else{
forceTimed=true;
}}
dateDelta=this.component.diffDates(date1, date0);
dateMutation=new EventDefDateMutation_1.default();
dateMutation.clearEnd=clearEnd;
dateMutation.forceTimed=forceTimed;
dateMutation.forceAllDay=forceAllDay;
dateMutation.setDateDelta(dateDelta);
return dateMutation;
};
return EventDragging;
}(Interaction_1.default));
exports.default=EventDragging;
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1=__webpack_require__(2);
var util_1=__webpack_require__(4);
var HitDragListener_1=__webpack_require__(23);
var ComponentFootprint_1=__webpack_require__(12);
var UnzonedRange_1=__webpack_require__(5);
var Interaction_1=__webpack_require__(15);
var DateSelecting= (function (_super){
tslib_1.__extends(DateSelecting, _super);
function DateSelecting(component){
var _this=_super.call(this, component)||this;
_this.dragListener=_this.buildDragListener();
return _this;
}
DateSelecting.prototype.end=function (){
this.dragListener.endInteraction();
};
DateSelecting.prototype.getDelay=function (){
var delay=this.opt('selectLongPressDelay');
if(delay==null){
delay=this.opt('longPressDelay');
}
return delay;
};
DateSelecting.prototype.bindToEl=function (el){
var _this=this;
var component=this.component;
var dragListener=this.dragListener;
component.bindDateHandlerToEl(el, 'mousedown', function (ev){
if(_this.opt('selectable')&&!component.shouldIgnoreMouse()){
dragListener.startInteraction(ev, {
distance: _this.opt('selectMinDistance')
});
}});
component.bindDateHandlerToEl(el, 'touchstart', function (ev){
if(_this.opt('selectable')&&!component.shouldIgnoreTouch()){
dragListener.startInteraction(ev, {
delay: _this.getDelay()
});
}});
util_1.preventSelection(el);
};
DateSelecting.prototype.buildDragListener=function (){
var _this=this;
var component=this.component;
var selectionFootprint;
var dragListener=new HitDragListener_1.default(component, {
scroll: this.opt('dragScroll'),
interactionStart: function (){
selectionFootprint=null;
},
dragStart: function (ev){
_this.view.unselect(ev);
},
hitOver: function (hit, isOrig, origHit){
var origHitFootprint;
var hitFootprint;
if(origHit){
origHitFootprint=component.getSafeHitFootprint(origHit);
hitFootprint=component.getSafeHitFootprint(hit);
if(origHitFootprint&&hitFootprint){
selectionFootprint=_this.computeSelection(origHitFootprint, hitFootprint);
}else{
selectionFootprint=null;
}
if(selectionFootprint){
component.renderSelectionFootprint(selectionFootprint);
}
else if(selectionFootprint===false){
util_1.disableCursor();
}}
},
hitOut: function (){
selectionFootprint=null;
component.unrenderSelection();
},
hitDone: function (){
util_1.enableCursor();
},
interactionEnd: function (ev, isCancelled){
if(!isCancelled&&selectionFootprint){
_this.view.reportSelection(selectionFootprint, ev);
}}
});
return dragListener;
};
DateSelecting.prototype.computeSelection=function (footprint0, footprint1){
var wholeFootprint=this.computeSelectionFootprint(footprint0, footprint1);
if(wholeFootprint&&!this.isSelectionFootprintAllowed(wholeFootprint)){
return false;
}
return wholeFootprint;
};
DateSelecting.prototype.computeSelectionFootprint=function (footprint0, footprint1){
var ms=[
footprint0.unzonedRange.startMs,
footprint0.unzonedRange.endMs,
footprint1.unzonedRange.startMs,
footprint1.unzonedRange.endMs
];
ms.sort(util_1.compareNumbers);
return new ComponentFootprint_1.default(new UnzonedRange_1.default(ms[0], ms[3]), footprint0.isAllDay);
};
DateSelecting.prototype.isSelectionFootprintAllowed=function (componentFootprint){
return this.component.dateProfile.validUnzonedRange.containsRange(componentFootprint.unzonedRange) &&
this.view.calendar.constraints.isSelectionFootprintAllowed(componentFootprint);
};
return DateSelecting;
}(Interaction_1.default));
exports.default=DateSelecting;
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1=__webpack_require__(2);
var moment=__webpack_require__(0);
var $=__webpack_require__(3);
var util_1=__webpack_require__(4);
var Scroller_1=__webpack_require__(39);
var View_1=__webpack_require__(41);
var TimeGrid_1=__webpack_require__(227);
var DayGrid_1=__webpack_require__(61);
var AGENDA_ALL_DAY_EVENT_LIMIT=5;
var agendaTimeGridMethods;
var agendaDayGridMethods;
var AgendaView= (function (_super){
tslib_1.__extends(AgendaView, _super);
function AgendaView(calendar, viewSpec){
var _this=_super.call(this, calendar, viewSpec)||this;
_this.usesMinMaxTime=true;
_this.timeGrid=_this.instantiateTimeGrid();
_this.addChild(_this.timeGrid);
if(_this.opt('allDaySlot')){
_this.dayGrid=_this.instantiateDayGrid();
_this.addChild(_this.dayGrid);
}
_this.scroller=new Scroller_1.default({
overflowX: 'hidden',
overflowY: 'auto'
});
return _this;
}
AgendaView.prototype.instantiateTimeGrid=function (){
var timeGrid=new this.timeGridClass(this);
util_1.copyOwnProps(agendaTimeGridMethods, timeGrid);
return timeGrid;
};
AgendaView.prototype.instantiateDayGrid=function (){
var dayGrid=new this.dayGridClass(this);
util_1.copyOwnProps(agendaDayGridMethods, dayGrid);
return dayGrid;
};
AgendaView.prototype.renderSkeleton=function (){
var timeGridWrapEl;
var timeGridEl;
this.el.addClass('fc-agenda-view').html(this.renderSkeletonHtml());
this.scroller.render();
timeGridWrapEl=this.scroller.el.addClass('fc-time-grid-container');
timeGridEl=$('
').appendTo(timeGridWrapEl);
this.el.find('.fc-body > tr > td').append(timeGridWrapEl);
this.timeGrid.headContainerEl=this.el.find('.fc-head-container');
this.timeGrid.setElement(timeGridEl);
if(this.dayGrid){
this.dayGrid.setElement(this.el.find('.fc-day-grid'));
this.dayGrid.bottomCoordPadding=this.dayGrid.el.next('hr').outerHeight();
}};
AgendaView.prototype.unrenderSkeleton=function (){
this.timeGrid.removeElement();
if(this.dayGrid){
this.dayGrid.removeElement();
}
this.scroller.destroy();
};
AgendaView.prototype.renderSkeletonHtml=function (){
var theme=this.calendar.theme;
return '' +
'' +
(this.opt('columnHeader') ?
'' +
'' +
'' +
' ' +
' ' :
'') +
'' +
'' +
'' +
(this.dayGrid ?
'
' +
'' :
'') +
' ' +
' ' +
' ' +
'
';
};
AgendaView.prototype.axisStyleAttr=function (){
if(this.axisWidth!=null){
return 'style="width:' + this.axisWidth + 'px"';
}
return '';
};
AgendaView.prototype.getNowIndicatorUnit=function (){
return this.timeGrid.getNowIndicatorUnit();
};
AgendaView.prototype.updateSize=function (totalHeight, isAuto, isResize){
var eventLimit;
var scrollerHeight;
var scrollbarWidths;
_super.prototype.updateSize.call(this, totalHeight, isAuto, isResize);
this.axisWidth=util_1.matchCellWidths(this.el.find('.fc-axis'));
if(!this.timeGrid.colEls){
if(!isAuto){
scrollerHeight=this.computeScrollerHeight(totalHeight);
this.scroller.setHeight(scrollerHeight);
}
return;
}
var noScrollRowEls=this.el.find('.fc-row:not(.fc-scroller *)');
this.timeGrid.bottomRuleEl.hide();
this.scroller.clear();
util_1.uncompensateScroll(noScrollRowEls);
if(this.dayGrid){
this.dayGrid.removeSegPopover();
eventLimit=this.opt('eventLimit');
if(eventLimit&&typeof eventLimit!=='number'){
eventLimit=AGENDA_ALL_DAY_EVENT_LIMIT;
}
if(eventLimit){
this.dayGrid.limitRows(eventLimit);
}}
if(!isAuto){
scrollerHeight=this.computeScrollerHeight(totalHeight);
this.scroller.setHeight(scrollerHeight);
scrollbarWidths=this.scroller.getScrollbarWidths();
if(scrollbarWidths.left||scrollbarWidths.right){
util_1.compensateScroll(noScrollRowEls, scrollbarWidths);
scrollerHeight=this.computeScrollerHeight(totalHeight);
this.scroller.setHeight(scrollerHeight);
}
this.scroller.lockOverflow(scrollbarWidths);
if(this.timeGrid.getTotalSlatHeight() < scrollerHeight){
this.timeGrid.bottomRuleEl.show();
}}
};
AgendaView.prototype.computeScrollerHeight=function (totalHeight){
return totalHeight -
util_1.subtractInnerElHeight(this.el, this.scroller.el);
};
AgendaView.prototype.computeInitialDateScroll=function (){
var scrollTime=moment.duration(this.opt('scrollTime'));
var top=this.timeGrid.computeTimeTop(scrollTime);
top=Math.ceil(top);
if(top){
top++;
}
return { top: top };};
AgendaView.prototype.queryDateScroll=function (){
return { top: this.scroller.getScrollTop() };};
AgendaView.prototype.applyDateScroll=function (scroll){
if(scroll.top!==undefined){
this.scroller.setScrollTop(scroll.top);
}};
AgendaView.prototype.getHitFootprint=function (hit){
return hit.component.getHitFootprint(hit);
};
AgendaView.prototype.getHitEl=function (hit){
return hit.component.getHitEl(hit);
};
AgendaView.prototype.executeEventRender=function (eventsPayload){
var dayEventsPayload={};
var timedEventsPayload={};
var id;
var eventInstanceGroup;
for (id in eventsPayload){
eventInstanceGroup=eventsPayload[id];
if(eventInstanceGroup.getEventDef().isAllDay()){
dayEventsPayload[id]=eventInstanceGroup;
}else{
timedEventsPayload[id]=eventInstanceGroup;
}}
this.timeGrid.executeEventRender(timedEventsPayload);
if(this.dayGrid){
this.dayGrid.executeEventRender(dayEventsPayload);
}};
AgendaView.prototype.renderDrag=function (eventFootprints, seg, isTouch){
var groups=groupEventFootprintsByAllDay(eventFootprints);
var renderedHelper=false;
renderedHelper=this.timeGrid.renderDrag(groups.timed, seg, isTouch);
if(this.dayGrid){
renderedHelper=this.dayGrid.renderDrag(groups.allDay, seg, isTouch)||renderedHelper;
}
return renderedHelper;
};
AgendaView.prototype.renderEventResize=function (eventFootprints, seg, isTouch){
var groups=groupEventFootprintsByAllDay(eventFootprints);
this.timeGrid.renderEventResize(groups.timed, seg, isTouch);
if(this.dayGrid){
this.dayGrid.renderEventResize(groups.allDay, seg, isTouch);
}};
AgendaView.prototype.renderSelectionFootprint=function (componentFootprint){
if(!componentFootprint.isAllDay){
this.timeGrid.renderSelectionFootprint(componentFootprint);
}
else if(this.dayGrid){
this.dayGrid.renderSelectionFootprint(componentFootprint);
}};
return AgendaView;
}(View_1.default));
exports.default=AgendaView;
AgendaView.prototype.timeGridClass=TimeGrid_1.default;
AgendaView.prototype.dayGridClass=DayGrid_1.default;
agendaTimeGridMethods={
renderHeadIntroHtml: function (){
var view=this.view;
var calendar=view.calendar;
var weekStart=calendar.msToUtcMoment(this.dateProfile.renderUnzonedRange.startMs, true);
var weekText;
if(this.opt('weekNumbers')){
weekText=weekStart.format(this.opt('smallWeekFormat'));
return '' +
'';
}else{
return '';
}},
renderBgIntroHtml: function (){
var view=this.view;
return ' ';
},
renderIntroHtml: function (){
var view=this.view;
return ' ';
}};
agendaDayGridMethods={
renderBgIntroHtml: function (){
var view=this.view;
return '' +
'' +
'' +
view.getAllDayHtml() +
' ' +
' ';
},
renderIntroHtml: function (){
var view=this.view;
return ' ';
}};
function groupEventFootprintsByAllDay(eventFootprints){
var allDay=[];
var timed=[];
var i;
for (i=0; i < eventFootprints.length; i++){
if(eventFootprints[i].componentFootprint.isAllDay){
allDay.push(eventFootprints[i]);
}else{
timed.push(eventFootprints[i]);
}}
return { allDay: allDay, timed: timed };}
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1=__webpack_require__(2);
var $=__webpack_require__(3);
var moment=__webpack_require__(0);
var util_1=__webpack_require__(4);
var InteractiveDateComponent_1=__webpack_require__(40);
var BusinessHourRenderer_1=__webpack_require__(56);
var StandardInteractionsMixin_1=__webpack_require__(60);
var DayTableMixin_1=__webpack_require__(55);
var CoordCache_1=__webpack_require__(53);
var UnzonedRange_1=__webpack_require__(5);
var ComponentFootprint_1=__webpack_require__(12);
var TimeGridEventRenderer_1=__webpack_require__(246);
var TimeGridHelperRenderer_1=__webpack_require__(247);
var TimeGridFillRenderer_1=__webpack_require__(248);
var AGENDA_STOCK_SUB_DURATIONS=[
{ hours: 1 },
{ minutes: 30 },
{ minutes: 15 },
{ seconds: 30 },
{ seconds: 15 }
];
var TimeGrid= (function (_super){
tslib_1.__extends(TimeGrid, _super);
function TimeGrid(view){
var _this=_super.call(this, view)||this;
_this.processOptions();
return _this;
}
TimeGrid.prototype.componentFootprintToSegs=function (componentFootprint){
var segs=this.sliceRangeByTimes(componentFootprint.unzonedRange);
var i;
for (i=0; i < segs.length; i++){
if(this.isRTL){
segs[i].col=this.daysPerRow - 1 - segs[i].dayIndex;
}else{
segs[i].col=segs[i].dayIndex;
}}
return segs;
};
TimeGrid.prototype.sliceRangeByTimes=function (unzonedRange){
var segs=[];
var segRange;
var dayIndex;
for (dayIndex=0; dayIndex < this.daysPerRow; dayIndex++){
segRange=unzonedRange.intersect(this.dayRanges[dayIndex]);
if(segRange){
segs.push({
startMs: segRange.startMs,
endMs: segRange.endMs,
isStart: segRange.isStart,
isEnd: segRange.isEnd,
dayIndex: dayIndex
});
}}
return segs;
};
TimeGrid.prototype.processOptions=function (){
var slotDuration=this.opt('slotDuration');
var snapDuration=this.opt('snapDuration');
var input;
slotDuration=moment.duration(slotDuration);
snapDuration=snapDuration ? moment.duration(snapDuration):slotDuration;
this.slotDuration=slotDuration;
this.snapDuration=snapDuration;
this.snapsPerSlot=slotDuration / snapDuration;
input=this.opt('slotLabelFormat');
if($.isArray(input)){
input=input[input.length - 1];
}
this.labelFormat=input ||
this.opt('smallTimeFormat');
input=this.opt('slotLabelInterval');
this.labelInterval=input ?
moment.duration(input) :
this.computeLabelInterval(slotDuration);
};
TimeGrid.prototype.computeLabelInterval=function (slotDuration){
var i;
var labelInterval;
var slotsPerLabel;
for (i=AGENDA_STOCK_SUB_DURATIONS.length - 1; i >=0; i--){
labelInterval=moment.duration(AGENDA_STOCK_SUB_DURATIONS[i]);
slotsPerLabel=util_1.divideDurationByDuration(labelInterval, slotDuration);
if(util_1.isInt(slotsPerLabel)&&slotsPerLabel > 1){
return labelInterval;
}}
return moment.duration(slotDuration);
};
TimeGrid.prototype.renderDates=function (dateProfile){
this.dateProfile=dateProfile;
this.updateDayTable();
this.renderSlats();
this.renderColumns();
};
TimeGrid.prototype.unrenderDates=function (){
this.unrenderColumns();
};
TimeGrid.prototype.renderSkeleton=function (){
var theme=this.view.calendar.theme;
this.el.html('
' +
'
' +
'');
this.bottomRuleEl=this.el.find('hr');
};
TimeGrid.prototype.renderSlats=function (){
var theme=this.view.calendar.theme;
this.slatContainerEl=this.el.find('> .fc-slats')
.html('' +
this.renderSlatRowHtml() +
'
');
this.slatEls=this.slatContainerEl.find('tr');
this.slatCoordCache=new CoordCache_1.default({
els: this.slatEls,
isVertical: true
});
};
TimeGrid.prototype.renderSlatRowHtml=function (){
var view=this.view;
var calendar=view.calendar;
var theme=calendar.theme;
var isRTL=this.isRTL;
var dateProfile=this.dateProfile;
var html='';
var slotTime=moment.duration(+dateProfile.minTime);
var slotIterator=moment.duration(0);
var slotDate;
var isLabeled;
var axisHtml;
while (slotTime < dateProfile.maxTime){
slotDate=calendar.msToUtcMoment(dateProfile.renderUnzonedRange.startMs).time(slotTime);
isLabeled=util_1.isInt(util_1.divideDurationByDuration(slotIterator, this.labelInterval));
axisHtml =
'' +
(isLabeled ?
'' +
util_1.htmlEscape(slotDate.format(this.labelFormat)) +
' ' :
'') +
' ';
html +=
'' +
(!isRTL ? axisHtml:'') +
' ' +
(isRTL ? axisHtml:'') +
' ';
slotTime.add(this.slotDuration);
slotIterator.add(this.slotDuration);
}
return html;
};
TimeGrid.prototype.renderColumns=function (){
var dateProfile=this.dateProfile;
var theme=this.view.calendar.theme;
this.dayRanges=this.dayDates.map(function (dayDate){
return new UnzonedRange_1.default(dayDate.clone().add(dateProfile.minTime), dayDate.clone().add(dateProfile.maxTime));
});
if(this.headContainerEl){
this.headContainerEl.html(this.renderHeadHtml());
}
this.el.find('> .fc-bg').html('' +
this.renderBgTrHtml(0) +
'
');
this.colEls=this.el.find('.fc-day, .fc-disabled-day');
this.colCoordCache=new CoordCache_1.default({
els: this.colEls,
isHorizontal: true
});
this.renderContentSkeleton();
};
TimeGrid.prototype.unrenderColumns=function (){
this.unrenderContentSkeleton();
};
TimeGrid.prototype.renderContentSkeleton=function (){
var cellHtml='';
var i;
var skeletonEl;
for (i=0; i < this.colCnt; i++){
cellHtml +=
'' +
'' +
'
' +
'
' +
'
' +
'
' +
'
' +
'
' +
' ';
}
skeletonEl=this.contentSkeletonEl=$('' +
'
' +
'' + cellHtml + ' ' +
'
' +
'
');
this.colContainerEls=skeletonEl.find('.fc-content-col');
this.helperContainerEls=skeletonEl.find('.fc-helper-container');
this.fgContainerEls=skeletonEl.find('.fc-event-container:not(.fc-helper-container)');
this.bgContainerEls=skeletonEl.find('.fc-bgevent-container');
this.highlightContainerEls=skeletonEl.find('.fc-highlight-container');
this.businessContainerEls=skeletonEl.find('.fc-business-container');
this.bookendCells(skeletonEl.find('tr'));
this.el.append(skeletonEl);
};
TimeGrid.prototype.unrenderContentSkeleton=function (){
if(this.contentSkeletonEl){
this.contentSkeletonEl.remove();
this.contentSkeletonEl=null;
this.colContainerEls=null;
this.helperContainerEls=null;
this.fgContainerEls=null;
this.bgContainerEls=null;
this.highlightContainerEls=null;
this.businessContainerEls=null;
}};
TimeGrid.prototype.groupSegsByCol=function (segs){
var segsByCol=[];
var i;
for (i=0; i < this.colCnt; i++){
segsByCol.push([]);
}
for (i=0; i < segs.length; i++){
segsByCol[segs[i].col].push(segs[i]);
}
return segsByCol;
};
TimeGrid.prototype.attachSegsByCol=function (segsByCol, containerEls){
var col;
var segs;
var i;
for (col=0; col < this.colCnt; col++){
segs=segsByCol[col];
for (i=0; i < segs.length; i++){
containerEls.eq(col).append(segs[i].el);
}}
};
TimeGrid.prototype.getNowIndicatorUnit=function (){
return 'minute';
};
TimeGrid.prototype.renderNowIndicator=function (date){
if(!this.colContainerEls){
return;
}
var segs=this.componentFootprintToSegs(new ComponentFootprint_1.default(new UnzonedRange_1.default(date, date.valueOf() + 1),
false
));
var top=this.computeDateTop(date, date);
var nodes=[];
var i;
for (i=0; i < segs.length; i++){
nodes.push($('
')
.css('top', top)
.appendTo(this.colContainerEls.eq(segs[i].col))[0]);
}
if(segs.length > 0){
nodes.push($('
')
.css('top', top)
.appendTo(this.el.find('.fc-content-skeleton'))[0]);
}
this.nowIndicatorEls=$(nodes);
};
TimeGrid.prototype.unrenderNowIndicator=function (){
if(this.nowIndicatorEls){
this.nowIndicatorEls.remove();
this.nowIndicatorEls=null;
}};
TimeGrid.prototype.updateSize=function (totalHeight, isAuto, isResize){
_super.prototype.updateSize.call(this, totalHeight, isAuto, isResize);
this.slatCoordCache.build();
if(isResize){
this.updateSegVerticals([].concat(this.eventRenderer.getSegs(), this.businessSegs||[]));
}};
TimeGrid.prototype.getTotalSlatHeight=function (){
return this.slatContainerEl.outerHeight();
};
TimeGrid.prototype.computeDateTop=function (ms, startOfDayDate){
return this.computeTimeTop(moment.duration(ms - startOfDayDate.clone().stripTime()));
};
TimeGrid.prototype.computeTimeTop=function (time){
var len=this.slatEls.length;
var dateProfile=this.dateProfile;
var slatCoverage=(time - dateProfile.minTime) / this.slotDuration;
var slatIndex;
var slatRemainder;
slatCoverage=Math.max(0, slatCoverage);
slatCoverage=Math.min(len, slatCoverage);
slatIndex=Math.floor(slatCoverage);
slatIndex=Math.min(slatIndex, len - 1);
slatRemainder=slatCoverage - slatIndex;
return this.slatCoordCache.getTopPosition(slatIndex) +
this.slatCoordCache.getHeight(slatIndex) * slatRemainder;
};
TimeGrid.prototype.updateSegVerticals=function (segs){
this.computeSegVerticals(segs);
this.assignSegVerticals(segs);
};
TimeGrid.prototype.computeSegVerticals=function (segs){
var eventMinHeight=this.opt('agendaEventMinHeight');
var i;
var seg;
var dayDate;
for (i=0; i < segs.length; i++){
seg=segs[i];
dayDate=this.dayDates[seg.dayIndex];
seg.top=this.computeDateTop(seg.startMs, dayDate);
seg.bottom=Math.max(seg.top + eventMinHeight, this.computeDateTop(seg.endMs, dayDate));
}};
TimeGrid.prototype.assignSegVerticals=function (segs){
var i;
var seg;
for (i=0; i < segs.length; i++){
seg=segs[i];
seg.el.css(this.generateSegVerticalCss(seg));
}};
TimeGrid.prototype.generateSegVerticalCss=function (seg){
return {
top: seg.top,
bottom: -seg.bottom
};};
TimeGrid.prototype.prepareHits=function (){
this.colCoordCache.build();
this.slatCoordCache.build();
};
TimeGrid.prototype.releaseHits=function (){
this.colCoordCache.clear();
};
TimeGrid.prototype.queryHit=function (leftOffset, topOffset){
var snapsPerSlot=this.snapsPerSlot;
var colCoordCache=this.colCoordCache;
var slatCoordCache=this.slatCoordCache;
if(colCoordCache.isLeftInBounds(leftOffset)&&slatCoordCache.isTopInBounds(topOffset)){
var colIndex=colCoordCache.getHorizontalIndex(leftOffset);
var slatIndex=slatCoordCache.getVerticalIndex(topOffset);
if(colIndex!=null&&slatIndex!=null){
var slatTop=slatCoordCache.getTopOffset(slatIndex);
var slatHeight=slatCoordCache.getHeight(slatIndex);
var partial=(topOffset - slatTop) / slatHeight;
var localSnapIndex=Math.floor(partial * snapsPerSlot);
var snapIndex=slatIndex * snapsPerSlot + localSnapIndex;
var snapTop=slatTop + (localSnapIndex / snapsPerSlot) * slatHeight;
var snapBottom=slatTop + ((localSnapIndex + 1) / snapsPerSlot) * slatHeight;
return {
col: colIndex,
snap: snapIndex,
component: this,
left: colCoordCache.getLeftOffset(colIndex),
right: colCoordCache.getRightOffset(colIndex),
top: snapTop,
bottom: snapBottom
};}}
};
TimeGrid.prototype.getHitFootprint=function (hit){
var start=this.getCellDate(0, hit.col);
var time=this.computeSnapTime(hit.snap);
var end;
start.time(time);
end=start.clone().add(this.snapDuration);
return new ComponentFootprint_1.default(new UnzonedRange_1.default(start, end), false
);
};
TimeGrid.prototype.computeSnapTime=function (snapIndex){
return moment.duration(this.dateProfile.minTime + this.snapDuration * snapIndex);
};
TimeGrid.prototype.getHitEl=function (hit){
return this.colEls.eq(hit.col);
};
TimeGrid.prototype.renderDrag=function (eventFootprints, seg, isTouch){
var i;
if(seg){
if(eventFootprints.length){
this.helperRenderer.renderEventDraggingFootprints(eventFootprints, seg, isTouch);
return true;
}}else{
for (i=0; i < eventFootprints.length; i++){
this.renderHighlight(eventFootprints[i].componentFootprint);
}}
};
TimeGrid.prototype.unrenderDrag=function (){
this.unrenderHighlight();
this.helperRenderer.unrender();
};
TimeGrid.prototype.renderEventResize=function (eventFootprints, seg, isTouch){
this.helperRenderer.renderEventResizingFootprints(eventFootprints, seg, isTouch);
};
TimeGrid.prototype.unrenderEventResize=function (){
this.helperRenderer.unrender();
};
TimeGrid.prototype.renderSelectionFootprint=function (componentFootprint){
if(this.opt('selectHelper')){
this.helperRenderer.renderComponentFootprint(componentFootprint);
}else{
this.renderHighlight(componentFootprint);
}};
TimeGrid.prototype.unrenderSelection=function (){
this.helperRenderer.unrender();
this.unrenderHighlight();
};
return TimeGrid;
}(InteractiveDateComponent_1.default));
exports.default=TimeGrid;
TimeGrid.prototype.eventRendererClass=TimeGridEventRenderer_1.default;
TimeGrid.prototype.businessHourRendererClass=BusinessHourRenderer_1.default;
TimeGrid.prototype.helperRendererClass=TimeGridHelperRenderer_1.default;
TimeGrid.prototype.fillRendererClass=TimeGridFillRenderer_1.default;
StandardInteractionsMixin_1.default.mixInto(TimeGrid);
DayTableMixin_1.default.mixInto(TimeGrid);
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1=__webpack_require__(2);
var UnzonedRange_1=__webpack_require__(5);
var DateProfileGenerator_1=__webpack_require__(221);
var BasicViewDateProfileGenerator= (function (_super){
tslib_1.__extends(BasicViewDateProfileGenerator, _super);
function BasicViewDateProfileGenerator(){
return _super!==null&&_super.apply(this, arguments)||this;
}
BasicViewDateProfileGenerator.prototype.buildRenderRange=function (currentUnzonedRange, currentRangeUnit, isRangeAllDay){
var renderUnzonedRange=_super.prototype.buildRenderRange.call(this, currentUnzonedRange, currentRangeUnit, isRangeAllDay);
var start=this.msToUtcMoment(renderUnzonedRange.startMs, isRangeAllDay);
var end=this.msToUtcMoment(renderUnzonedRange.endMs, isRangeAllDay);
if(/^(year|month)$/.test(currentRangeUnit)){
start.startOf('week');
if(end.weekday()){
end.add(1, 'week').startOf('week');
}}
return new UnzonedRange_1.default(start, end);
};
return BasicViewDateProfileGenerator;
}(DateProfileGenerator_1.default));
exports.default=BasicViewDateProfileGenerator;
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1=__webpack_require__(2);
var moment=__webpack_require__(0);
var util_1=__webpack_require__(4);
var BasicView_1=__webpack_require__(62);
var MonthViewDateProfileGenerator_1=__webpack_require__(253);
var MonthView= (function (_super){
tslib_1.__extends(MonthView, _super);
function MonthView(){
return _super!==null&&_super.apply(this, arguments)||this;
}
MonthView.prototype.setGridHeight=function (height, isAuto){
if(isAuto){
height *=this.dayGrid.rowCnt / 6;
}
util_1.distributeHeight(this.dayGrid.rowEls, height, !isAuto);
};
MonthView.prototype.isDateInOtherMonth=function (date, dateProfile){
return date.month()!==moment.utc(dateProfile.currentUnzonedRange.startMs).month();
};
return MonthView;
}(BasicView_1.default));
exports.default=MonthView;
MonthView.prototype.dateProfileGeneratorClass=MonthViewDateProfileGenerator_1.default;
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1=__webpack_require__(2);
var $=__webpack_require__(3);
var util_1=__webpack_require__(4);
var UnzonedRange_1=__webpack_require__(5);
var View_1=__webpack_require__(41);
var Scroller_1=__webpack_require__(39);
var ListEventRenderer_1=__webpack_require__(254);
var ListEventPointing_1=__webpack_require__(255);
var ListView= (function (_super){
tslib_1.__extends(ListView, _super);
function ListView(calendar, viewSpec){
var _this=_super.call(this, calendar, viewSpec)||this;
_this.segSelector='.fc-list-item';
_this.scroller=new Scroller_1.default({
overflowX: 'hidden',
overflowY: 'auto'
});
return _this;
}
ListView.prototype.renderSkeleton=function (){
this.el.addClass('fc-list-view ' +
this.calendar.theme.getClass('listView'));
this.scroller.render();
this.scroller.el.appendTo(this.el);
this.contentEl=this.scroller.scrollEl;
};
ListView.prototype.unrenderSkeleton=function (){
this.scroller.destroy();
};
ListView.prototype.updateSize=function (totalHeight, isAuto, isResize){
_super.prototype.updateSize.call(this, totalHeight, isAuto, isResize);
this.scroller.clear();
if(!isAuto){
this.scroller.setHeight(this.computeScrollerHeight(totalHeight));
}};
ListView.prototype.computeScrollerHeight=function (totalHeight){
return totalHeight -
util_1.subtractInnerElHeight(this.el, this.scroller.el);
};
ListView.prototype.renderDates=function (dateProfile){
var calendar=this.calendar;
var dayStart=calendar.msToUtcMoment(dateProfile.renderUnzonedRange.startMs, true);
var viewEnd=calendar.msToUtcMoment(dateProfile.renderUnzonedRange.endMs, true);
var dayDates=[];
var dayRanges=[];
while (dayStart < viewEnd){
dayDates.push(dayStart.clone());
dayRanges.push(new UnzonedRange_1.default(dayStart, dayStart.clone().add(1, 'day')));
dayStart.add(1, 'day');
}
this.dayDates=dayDates;
this.dayRanges=dayRanges;
};
ListView.prototype.componentFootprintToSegs=function (footprint){
var dayRanges=this.dayRanges;
var dayIndex;
var segRange;
var seg;
var segs=[];
for (dayIndex=0; dayIndex < dayRanges.length; dayIndex++){
segRange=footprint.unzonedRange.intersect(dayRanges[dayIndex]);
if(segRange){
seg={
startMs: segRange.startMs,
endMs: segRange.endMs,
isStart: segRange.isStart,
isEnd: segRange.isEnd,
dayIndex: dayIndex
};
segs.push(seg);
if(!seg.isEnd&&!footprint.isAllDay &&
dayIndex + 1 < dayRanges.length &&
footprint.unzonedRange.endMs < dayRanges[dayIndex + 1].startMs + this.nextDayThreshold){
seg.endMs=footprint.unzonedRange.endMs;
seg.isEnd=true;
break;
}}
}
return segs;
};
ListView.prototype.renderEmptyMessage=function (){
this.contentEl.html('' +
'
' +
'
' +
util_1.htmlEscape(this.opt('noEventsMessage')) +
'
' +
'
' +
'
');
};
ListView.prototype.renderSegList=function (allSegs){
var segsByDay=this.groupSegsByDay(allSegs);
var dayIndex;
var daySegs;
var i;
var tableEl=$('');
var tbodyEl=tableEl.find('tbody');
for (dayIndex=0; dayIndex < segsByDay.length; dayIndex++){
daySegs=segsByDay[dayIndex];
if(daySegs){
tbodyEl.append(this.dayHeaderHtml(this.dayDates[dayIndex]));
this.eventRenderer.sortEventSegs(daySegs);
for (i=0; i < daySegs.length; i++){
tbodyEl.append(daySegs[i].el);
}}
}
this.contentEl.empty().append(tableEl);
};
ListView.prototype.groupSegsByDay=function (segs){
var segsByDay=[];
var i;
var seg;
for (i=0; i < segs.length; i++){
seg=segs[i];
(segsByDay[seg.dayIndex]||(segsByDay[seg.dayIndex]=[]))
.push(seg);
}
return segsByDay;
};
ListView.prototype.dayHeaderHtml=function (dayDate){
var mainFormat=this.opt('listDayFormat');
var altFormat=this.opt('listDayAltFormat');
return '' +
'' +
' ';
};
return ListView;
}(View_1.default));
exports.default=ListView;
ListView.prototype.eventRendererClass=ListEventRenderer_1.default;
ListView.prototype.eventPointingClass=ListEventPointing_1.default;
}),
,
,
,
,
,
(function(module, exports, __webpack_require__){
var $=__webpack_require__(3);
var exportHooks=__webpack_require__(16);
var util_1=__webpack_require__(4);
var Calendar_1=__webpack_require__(220);
__webpack_require__(10);
__webpack_require__(47);
__webpack_require__(256);
__webpack_require__(257);
__webpack_require__(260);
__webpack_require__(261);
__webpack_require__(262);
__webpack_require__(263);
$.fullCalendar=exportHooks;
$.fn.fullCalendar=function (options){
var args=Array.prototype.slice.call(arguments, 1);
var res=this;
this.each(function (i, _element){
var element=$(_element);
var calendar=element.data('fullCalendar');
var singleRes;
if(typeof options==='string'){
if(options==='getCalendar'){
if(!i){
res=calendar;
}}
else if(options==='destroy'){
if(calendar){
calendar.destroy();
element.removeData('fullCalendar');
}}
else if(!calendar){
util_1.warn('Attempting to call a FullCalendar method on an element with no calendar.');
}
else if($.isFunction(calendar[options])){
singleRes=calendar[options].apply(calendar, args);
if(!i){
res=singleRes;
}
if(options==='destroy'){
element.removeData('fullCalendar');
}}else{
util_1.warn("'" + options + "' is an unknown FullCalendar method.");
}}
else if(!calendar){
calendar=new Calendar_1.default(element, options);
element.data('fullCalendar', calendar);
calendar.render();
}});
return res;
};
module.exports=exportHooks;
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1=__webpack_require__(2);
var Model_1=__webpack_require__(48);
var Component= (function (_super){
tslib_1.__extends(Component, _super);
function Component(){
return _super!==null&&_super.apply(this, arguments)||this;
}
Component.prototype.setElement=function (el){
this.el=el;
this.bindGlobalHandlers();
this.renderSkeleton();
this.set('isInDom', true);
};
Component.prototype.removeElement=function (){
this.unset('isInDom');
this.unrenderSkeleton();
this.unbindGlobalHandlers();
this.el.remove();
};
Component.prototype.bindGlobalHandlers=function (){
};
Component.prototype.unbindGlobalHandlers=function (){
};
Component.prototype.renderSkeleton=function (){
};
Component.prototype.unrenderSkeleton=function (){
};
return Component;
}(Model_1.default));
exports.default=Component;
}),
(function(module, exports){
Object.defineProperty(exports, "__esModule", { value: true });
var Iterator= (function (){
function Iterator(items){
this.items=items||[];
}
Iterator.prototype.proxyCall=function (methodName){
var args=[];
for (var _i=1; _i < arguments.length; _i++){
args[_i - 1]=arguments[_i];
}
var results=[];
this.items.forEach(function (item){
results.push(item[methodName].apply(item, args));
});
return results;
};
return Iterator;
}());
exports.default=Iterator;
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var $=__webpack_require__(3);
var util_1=__webpack_require__(4);
var Toolbar= (function (){
function Toolbar(calendar, toolbarOptions){
this.el=null;
this.viewsWithButtons=[];
this.calendar=calendar;
this.toolbarOptions=toolbarOptions;
}
Toolbar.prototype.setToolbarOptions=function (newToolbarOptions){
this.toolbarOptions=newToolbarOptions;
};
Toolbar.prototype.render=function (){
var sections=this.toolbarOptions.layout;
var el=this.el;
if(sections){
if(!el){
el=this.el=$("");
}else{
el.empty();
}
el.append(this.renderSection('left'))
.append(this.renderSection('right'))
.append(this.renderSection('center'))
.append('
');
}else{
this.removeElement();
}};
Toolbar.prototype.removeElement=function (){
if(this.el){
this.el.remove();
this.el=null;
}};
Toolbar.prototype.renderSection=function (position){
var _this=this;
var calendar=this.calendar;
var theme=calendar.theme;
var optionsManager=calendar.optionsManager;
var viewSpecManager=calendar.viewSpecManager;
var sectionEl=$('
');
var buttonStr=this.toolbarOptions.layout[position];
var calendarCustomButtons=optionsManager.get('customButtons')||{};
var calendarButtonTextOverrides=optionsManager.overrides.buttonText||{};
var calendarButtonText=optionsManager.get('buttonText')||{};
if(buttonStr){
$.each(buttonStr.split(' '), function (i, buttonGroupStr){
var groupChildren=$();
var isOnlyButtons=true;
var groupEl;
$.each(buttonGroupStr.split(','), function (j, buttonName){
var customButtonProps;
var viewSpec;
var buttonClick;
var buttonIcon;
var buttonText; // "
var buttonInnerHtml;
var buttonClasses;
var buttonEl;
var buttonAriaAttr;
if(buttonName==='title'){
groupChildren=groupChildren.add($(' '));
isOnlyButtons=false;
}else{
if((customButtonProps=calendarCustomButtons[buttonName])){
buttonClick=function (ev){
if(customButtonProps.click){
customButtonProps.click.call(buttonEl[0], ev);
}};
(buttonIcon=theme.getCustomButtonIconClass(customButtonProps)) ||
(buttonIcon=theme.getIconClass(buttonName)) ||
(buttonText=customButtonProps.text);
}
else if((viewSpec=viewSpecManager.getViewSpec(buttonName))){
_this.viewsWithButtons.push(buttonName);
buttonClick=function (){
calendar.changeView(buttonName);
};
(buttonText=viewSpec.buttonTextOverride) ||
(buttonIcon=theme.getIconClass(buttonName)) ||
(buttonText=viewSpec.buttonTextDefault);
}
else if(calendar[buttonName]){
buttonClick=function (){
calendar[buttonName]();
};
(buttonText=calendarButtonTextOverrides[buttonName]) ||
(buttonIcon=theme.getIconClass(buttonName)) ||
(buttonText=calendarButtonText[buttonName]);
}
if(buttonClick){
buttonClasses=[
'fc-' + buttonName + '-button',
theme.getClass('button'),
theme.getClass('stateDefault')
];
if(buttonText){
buttonInnerHtml=util_1.htmlEscape(buttonText);
buttonAriaAttr='';
}
else if(buttonIcon){
buttonInnerHtml=" ";
buttonAriaAttr=' aria-label="' + buttonName + '"';
}
buttonEl=$(
'' + buttonInnerHtml + ' ')
.click(function (ev){
if(!buttonEl.hasClass(theme.getClass('stateDisabled'))){
buttonClick(ev);
if(buttonEl.hasClass(theme.getClass('stateActive')) ||
buttonEl.hasClass(theme.getClass('stateDisabled'))){
buttonEl.removeClass(theme.getClass('stateHover'));
}}
})
.mousedown(function (){
buttonEl
.not('.' + theme.getClass('stateActive'))
.not('.' + theme.getClass('stateDisabled'))
.addClass(theme.getClass('stateDown'));
})
.mouseup(function (){
buttonEl.removeClass(theme.getClass('stateDown'));
})
.hover(function (){
buttonEl
.not('.' + theme.getClass('stateActive'))
.not('.' + theme.getClass('stateDisabled'))
.addClass(theme.getClass('stateHover'));
}, function (){
buttonEl
.removeClass(theme.getClass('stateHover'))
.removeClass(theme.getClass('stateDown'));
});
groupChildren=groupChildren.add(buttonEl);
}}
});
if(isOnlyButtons){
groupChildren
.first().addClass(theme.getClass('cornerLeft')).end()
.last().addClass(theme.getClass('cornerRight')).end();
}
if(groupChildren.length > 1){
groupEl=$('
');
if(isOnlyButtons){
groupEl.addClass(theme.getClass('buttonGroup'));
}
groupEl.append(groupChildren);
sectionEl.append(groupEl);
}else{
sectionEl.append(groupChildren);
}});
}
return sectionEl;
};
Toolbar.prototype.updateTitle=function (text){
if(this.el){
this.el.find('h2').text(text);
}};
Toolbar.prototype.activateButton=function (buttonName){
if(this.el){
this.el.find('.fc-' + buttonName + '-button')
.addClass(this.calendar.theme.getClass('stateActive'));
}};
Toolbar.prototype.deactivateButton=function (buttonName){
if(this.el){
this.el.find('.fc-' + buttonName + '-button')
.removeClass(this.calendar.theme.getClass('stateActive'));
}};
Toolbar.prototype.disableButton=function (buttonName){
if(this.el){
this.el.find('.fc-' + buttonName + '-button')
.prop('disabled', true)
.addClass(this.calendar.theme.getClass('stateDisabled'));
}};
Toolbar.prototype.enableButton=function (buttonName){
if(this.el){
this.el.find('.fc-' + buttonName + '-button')
.prop('disabled', false)
.removeClass(this.calendar.theme.getClass('stateDisabled'));
}};
Toolbar.prototype.getViewsWithButtons=function (){
return this.viewsWithButtons;
};
return Toolbar;
}());
exports.default=Toolbar;
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1=__webpack_require__(2);
var $=__webpack_require__(3);
var util_1=__webpack_require__(4);
var options_1=__webpack_require__(32);
var locale_1=__webpack_require__(31);
var Model_1=__webpack_require__(48);
var OptionsManager= (function (_super){
tslib_1.__extends(OptionsManager, _super);
function OptionsManager(_calendar, overrides){
var _this=_super.call(this)||this;
_this._calendar=_calendar;
_this.overrides=$.extend({}, overrides);
_this.dynamicOverrides={};
_this.compute();
return _this;
}
OptionsManager.prototype.add=function (newOptionHash){
var optionCnt=0;
var optionName;
this.recordOverrides(newOptionHash);
for (optionName in newOptionHash){
optionCnt++;
}
if(optionCnt===1){
if(optionName==='height'||optionName==='contentHeight'||optionName==='aspectRatio'){
this._calendar.updateViewSize(true);
return;
}
else if(optionName==='defaultDate'){
return;
}
else if(optionName==='businessHours'){
return;
}
else if(/^(event|select)(Overlap|Constraint|Allow)$/.test(optionName)){
return;
}
else if(optionName==='timezone'){
this._calendar.view.flash('initialEvents');
return;
}}
this._calendar.renderHeader();
this._calendar.renderFooter();
this._calendar.viewsByType={};
this._calendar.reinitView();
};
OptionsManager.prototype.compute=function (){
var locale;
var localeDefaults;
var isRTL;
var dirDefaults;
var rawOptions;
locale=util_1.firstDefined(this.dynamicOverrides.locale, this.overrides.locale);
localeDefaults=locale_1.localeOptionHash[locale];
if(!localeDefaults){
locale=options_1.globalDefaults.locale;
localeDefaults=locale_1.localeOptionHash[locale]||{};}
isRTL=util_1.firstDefined(this.dynamicOverrides.isRTL, this.overrides.isRTL, localeDefaults.isRTL, options_1.globalDefaults.isRTL);
dirDefaults=isRTL ? options_1.rtlDefaults:{};
this.dirDefaults=dirDefaults;
this.localeDefaults=localeDefaults;
rawOptions=options_1.mergeOptions([
options_1.globalDefaults,
dirDefaults,
localeDefaults,
this.overrides,
this.dynamicOverrides
]);
locale_1.populateInstanceComputableOptions(rawOptions);
this.reset(rawOptions);
};
OptionsManager.prototype.recordOverrides=function (newOptionHash){
var optionName;
for (optionName in newOptionHash){
this.dynamicOverrides[optionName]=newOptionHash[optionName];
}
this._calendar.viewSpecManager.clearCache();
this.compute();
};
return OptionsManager;
}(Model_1.default));
exports.default=OptionsManager;
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var moment=__webpack_require__(0);
var $=__webpack_require__(3);
var ViewRegistry_1=__webpack_require__(22);
var util_1=__webpack_require__(4);
var options_1=__webpack_require__(32);
var locale_1=__webpack_require__(31);
var ViewSpecManager= (function (){
function ViewSpecManager(optionsManager, _calendar){
this.optionsManager=optionsManager;
this._calendar=_calendar;
this.clearCache();
}
ViewSpecManager.prototype.clearCache=function (){
this.viewSpecCache={};};
ViewSpecManager.prototype.getViewSpec=function (viewType){
var cache=this.viewSpecCache;
return cache[viewType]||(cache[viewType]=this.buildViewSpec(viewType));
};
ViewSpecManager.prototype.getUnitViewSpec=function (unit){
var viewTypes;
var i;
var spec;
if($.inArray(unit, util_1.unitsDesc)!==-1){
viewTypes=this._calendar.header.getViewsWithButtons();
$.each(ViewRegistry_1.viewHash, function (viewType){
viewTypes.push(viewType);
});
for (i=0; i < viewTypes.length; i++){
spec=this.getViewSpec(viewTypes[i]);
if(spec){
if(spec.singleUnit===unit){
return spec;
}}
}}
};
ViewSpecManager.prototype.buildViewSpec=function (requestedViewType){
var viewOverrides=this.optionsManager.overrides.views||{};
var specChain=[];
var defaultsChain=[];
var overridesChain=[];
var viewType=requestedViewType;
var spec;
var overrides;
var durationInput;
var duration;
var unit;
while (viewType){
spec=ViewRegistry_1.viewHash[viewType];
overrides=viewOverrides[viewType];
viewType=null;
if(typeof spec==='function'){
spec={ 'class': spec };}
if(spec){
specChain.unshift(spec);
defaultsChain.unshift(spec.defaults||{});
durationInput=durationInput||spec.duration;
viewType=viewType||spec.type;
}
if(overrides){
overridesChain.unshift(overrides);
durationInput=durationInput||overrides.duration;
viewType=viewType||overrides.type;
}}
spec=util_1.mergeProps(specChain);
spec.type=requestedViewType;
if(!spec['class']){
return false;
}
durationInput=durationInput ||
this.optionsManager.dynamicOverrides.duration ||
this.optionsManager.overrides.duration;
if(durationInput){
duration=moment.duration(durationInput);
if(duration.valueOf()){
unit=util_1.computeDurationGreatestUnit(duration, durationInput);
spec.duration=duration;
spec.durationUnit=unit;
if(duration.as(unit)===1){
spec.singleUnit=unit;
overridesChain.unshift(viewOverrides[unit]||{});
}}
}
spec.defaults=options_1.mergeOptions(defaultsChain);
spec.overrides=options_1.mergeOptions(overridesChain);
this.buildViewSpecOptions(spec);
this.buildViewSpecButtonText(spec, requestedViewType);
return spec;
};
ViewSpecManager.prototype.buildViewSpecOptions=function (spec){
var optionsManager=this.optionsManager;
spec.options=options_1.mergeOptions([
options_1.globalDefaults,
spec.defaults,
optionsManager.dirDefaults,
optionsManager.localeDefaults,
optionsManager.overrides,
spec.overrides,
optionsManager.dynamicOverrides
]);
locale_1.populateInstanceComputableOptions(spec.options);
};
ViewSpecManager.prototype.buildViewSpecButtonText=function (spec, requestedViewType){
var optionsManager=this.optionsManager;
function queryButtonText(options){
var buttonText=options.buttonText||{};
return buttonText[requestedViewType] ||
(spec.buttonTextKey ? buttonText[spec.buttonTextKey]:null) ||
(spec.singleUnit ? buttonText[spec.singleUnit]:null);
}
spec.buttonTextOverride =
queryButtonText(optionsManager.dynamicOverrides) ||
queryButtonText(optionsManager.overrides) ||
spec.overrides.buttonText;
spec.buttonTextDefault =
queryButtonText(optionsManager.localeDefaults) ||
queryButtonText(optionsManager.dirDefaults) ||
spec.defaults.buttonText ||
queryButtonText(options_1.globalDefaults) ||
(spec.duration ? this._calendar.humanizeDuration(spec.duration):null) ||
requestedViewType;
};
return ViewSpecManager;
}());
exports.default=ViewSpecManager;
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var $=__webpack_require__(3);
var util_1=__webpack_require__(4);
var EventPeriod_1=__webpack_require__(243);
var ArrayEventSource_1=__webpack_require__(52);
var EventSource_1=__webpack_require__(6);
var EventSourceParser_1=__webpack_require__(38);
var SingleEventDef_1=__webpack_require__(13);
var EventInstanceGroup_1=__webpack_require__(18);
var EmitterMixin_1=__webpack_require__(11);
var ListenerMixin_1=__webpack_require__(7);
var EventManager= (function (){
function EventManager(calendar){
this.calendar=calendar;
this.stickySource=new ArrayEventSource_1.default(calendar);
this.otherSources=[];
}
EventManager.prototype.requestEvents=function (start, end, timezone, force){
if(force ||
!this.currentPeriod ||
!this.currentPeriod.isWithinRange(start, end) ||
timezone!==this.currentPeriod.timezone){
this.setPeriod(new EventPeriod_1.default(start, end, timezone));
}
return this.currentPeriod.whenReleased();
};
EventManager.prototype.addSource=function (eventSource){
this.otherSources.push(eventSource);
if(this.currentPeriod){
this.currentPeriod.requestSource(eventSource);
}};
EventManager.prototype.removeSource=function (doomedSource){
util_1.removeExact(this.otherSources, doomedSource);
if(this.currentPeriod){
this.currentPeriod.purgeSource(doomedSource);
}};
EventManager.prototype.removeAllSources=function (){
this.otherSources=[];
if(this.currentPeriod){
this.currentPeriod.purgeAllSources();
}};
EventManager.prototype.refetchSource=function (eventSource){
var currentPeriod=this.currentPeriod;
if(currentPeriod){
currentPeriod.freeze();
currentPeriod.purgeSource(eventSource);
currentPeriod.requestSource(eventSource);
currentPeriod.thaw();
}};
EventManager.prototype.refetchAllSources=function (){
var currentPeriod=this.currentPeriod;
if(currentPeriod){
currentPeriod.freeze();
currentPeriod.purgeAllSources();
currentPeriod.requestSources(this.getSources());
currentPeriod.thaw();
}};
EventManager.prototype.getSources=function (){
return [this.stickySource].concat(this.otherSources);
};
EventManager.prototype.multiQuerySources=function (matchInputs){
if(!matchInputs){
matchInputs=[];
}
else if(!$.isArray(matchInputs)){
matchInputs=[matchInputs];
}
var matchingSources=[];
var i;
for (i=0; i < matchInputs.length; i++){
matchingSources.push.apply(matchingSources, this.querySources(matchInputs[i]));
}
return matchingSources;
};
EventManager.prototype.querySources=function (matchInput){
var sources=this.otherSources;
var i;
var source;
for (i=0; i < sources.length; i++){
source=sources[i];
if(source===matchInput){
return [source];
}}
source=this.getSourceById(EventSource_1.default.normalizeId(matchInput));
if(source){
return [source];
}
matchInput=EventSourceParser_1.default.parse(matchInput, this.calendar);
if(matchInput){
return $.grep(sources, function (source){
return isSourcesEquivalent(matchInput, source);
});
}};
EventManager.prototype.getSourceById=function (id){
return $.grep(this.otherSources, function (source){
return source.id&&source.id===id;
})[0];
};
EventManager.prototype.setPeriod=function (eventPeriod){
if(this.currentPeriod){
this.unbindPeriod(this.currentPeriod);
this.currentPeriod=null;
}
this.currentPeriod=eventPeriod;
this.bindPeriod(eventPeriod);
eventPeriod.requestSources(this.getSources());
};
EventManager.prototype.bindPeriod=function (eventPeriod){
this.listenTo(eventPeriod, 'release', function (eventsPayload){
this.trigger('release', eventsPayload);
});
};
EventManager.prototype.unbindPeriod=function (eventPeriod){
this.stopListeningTo(eventPeriod);
};
EventManager.prototype.getEventDefByUid=function (uid){
if(this.currentPeriod){
return this.currentPeriod.getEventDefByUid(uid);
}};
EventManager.prototype.addEventDef=function (eventDef, isSticky){
if(isSticky){
this.stickySource.addEventDef(eventDef);
}
if(this.currentPeriod){
this.currentPeriod.addEventDef(eventDef);
}};
EventManager.prototype.removeEventDefsById=function (eventId){
this.getSources().forEach(function (eventSource){
eventSource.removeEventDefsById(eventId);
});
if(this.currentPeriod){
this.currentPeriod.removeEventDefsById(eventId);
}};
EventManager.prototype.removeAllEventDefs=function (){
this.getSources().forEach(function (eventSource){
eventSource.removeAllEventDefs();
});
if(this.currentPeriod){
this.currentPeriod.removeAllEventDefs();
}};
EventManager.prototype.mutateEventsWithId=function (eventDefId, eventDefMutation){
var currentPeriod=this.currentPeriod;
var eventDefs;
var undoFuncs=[];
if(currentPeriod){
currentPeriod.freeze();
eventDefs=currentPeriod.getEventDefsById(eventDefId);
eventDefs.forEach(function (eventDef){
currentPeriod.removeEventDef(eventDef);
undoFuncs.push(eventDefMutation.mutateSingle(eventDef));
currentPeriod.addEventDef(eventDef);
});
currentPeriod.thaw();
return function (){
currentPeriod.freeze();
for (var i=0; i < eventDefs.length; i++){
currentPeriod.removeEventDef(eventDefs[i]);
undoFuncs[i]();
currentPeriod.addEventDef(eventDefs[i]);
}
currentPeriod.thaw();
};}
return function (){ };};
EventManager.prototype.buildMutatedEventInstanceGroup=function (eventDefId, eventDefMutation){
var eventDefs=this.getEventDefsById(eventDefId);
var i;
var defCopy;
var allInstances=[];
for (i=0; i < eventDefs.length; i++){
defCopy=eventDefs[i].clone();
if(defCopy instanceof SingleEventDef_1.default){
eventDefMutation.mutateSingle(defCopy);
allInstances.push.apply(allInstances,
defCopy.buildInstances());
}}
return new EventInstanceGroup_1.default(allInstances);
};
EventManager.prototype.freeze=function (){
if(this.currentPeriod){
this.currentPeriod.freeze();
}};
EventManager.prototype.thaw=function (){
if(this.currentPeriod){
this.currentPeriod.thaw();
}};
EventManager.prototype.getEventDefsById=function (eventDefId){
return this.currentPeriod.getEventDefsById(eventDefId);
};
EventManager.prototype.getEventInstances=function (){
return this.currentPeriod.getEventInstances();
};
EventManager.prototype.getEventInstancesWithId=function (eventDefId){
return this.currentPeriod.getEventInstancesWithId(eventDefId);
};
EventManager.prototype.getEventInstancesWithoutId=function (eventDefId){
return this.currentPeriod.getEventInstancesWithoutId(eventDefId);
};
return EventManager;
}());
exports.default=EventManager;
EmitterMixin_1.default.mixInto(EventManager);
ListenerMixin_1.default.mixInto(EventManager);
function isSourcesEquivalent(source0, source1){
return source0.getPrimitive()===source1.getPrimitive();
}
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var $=__webpack_require__(3);
var util_1=__webpack_require__(4);
var Promise_1=__webpack_require__(20);
var EmitterMixin_1=__webpack_require__(11);
var UnzonedRange_1=__webpack_require__(5);
var EventInstanceGroup_1=__webpack_require__(18);
var EventPeriod= (function (){
function EventPeriod(start, end, timezone){
this.pendingCnt=0;
this.freezeDepth=0;
this.stuntedReleaseCnt=0;
this.releaseCnt=0;
this.start=start;
this.end=end;
this.timezone=timezone;
this.unzonedRange=new UnzonedRange_1.default(start.clone().stripZone(), end.clone().stripZone());
this.requestsByUid={};
this.eventDefsByUid={};
this.eventDefsById={};
this.eventInstanceGroupsById={};}
EventPeriod.prototype.isWithinRange=function (start, end){
return !start.isBefore(this.start)&&!end.isAfter(this.end);
};
EventPeriod.prototype.requestSources=function (sources){
this.freeze();
for (var i=0; i < sources.length; i++){
this.requestSource(sources[i]);
}
this.thaw();
};
EventPeriod.prototype.requestSource=function (source){
var _this=this;
var request={ source: source, status: 'pending', eventDefs: null };
this.requestsByUid[source.uid]=request;
this.pendingCnt +=1;
source.fetch(this.start, this.end, this.timezone).then(function (eventDefs){
if(request.status!=='cancelled'){
request.status='completed';
request.eventDefs=eventDefs;
_this.addEventDefs(eventDefs);
_this.pendingCnt--;
_this.tryRelease();
}}, function (){
if(request.status!=='cancelled'){
request.status='failed';
_this.pendingCnt--;
_this.tryRelease();
}});
};
EventPeriod.prototype.purgeSource=function (source){
var request=this.requestsByUid[source.uid];
if(request){
delete this.requestsByUid[source.uid];
if(request.status==='pending'){
request.status='cancelled';
this.pendingCnt--;
this.tryRelease();
}
else if(request.status==='completed'){
request.eventDefs.forEach(this.removeEventDef.bind(this));
}}
};
EventPeriod.prototype.purgeAllSources=function (){
var requestsByUid=this.requestsByUid;
var uid;
var request;
var completedCnt=0;
for (uid in requestsByUid){
request=requestsByUid[uid];
if(request.status==='pending'){
request.status='cancelled';
}
else if(request.status==='completed'){
completedCnt++;
}}
this.requestsByUid={};
this.pendingCnt=0;
if(completedCnt){
this.removeAllEventDefs();
}};
EventPeriod.prototype.getEventDefByUid=function (eventDefUid){
return this.eventDefsByUid[eventDefUid];
};
EventPeriod.prototype.getEventDefsById=function (eventDefId){
var a=this.eventDefsById[eventDefId];
if(a){
return a.slice();
}
return [];
};
EventPeriod.prototype.addEventDefs=function (eventDefs){
for (var i=0; i < eventDefs.length; i++){
this.addEventDef(eventDefs[i]);
}};
EventPeriod.prototype.addEventDef=function (eventDef){
var eventDefsById=this.eventDefsById;
var eventDefId=eventDef.id;
var eventDefs=eventDefsById[eventDefId]||(eventDefsById[eventDefId]=[]);
var eventInstances=eventDef.buildInstances(this.unzonedRange);
var i;
eventDefs.push(eventDef);
this.eventDefsByUid[eventDef.uid]=eventDef;
for (i=0; i < eventInstances.length; i++){
this.addEventInstance(eventInstances[i], eventDefId);
}};
EventPeriod.prototype.removeEventDefsById=function (eventDefId){
var _this=this;
this.getEventDefsById(eventDefId).forEach(function (eventDef){
_this.removeEventDef(eventDef);
});
};
EventPeriod.prototype.removeAllEventDefs=function (){
var isEmpty=$.isEmptyObject(this.eventDefsByUid);
this.eventDefsByUid={};
this.eventDefsById={};
this.eventInstanceGroupsById={};
if(!isEmpty){
this.tryRelease();
}};
EventPeriod.prototype.removeEventDef=function (eventDef){
var eventDefsById=this.eventDefsById;
var eventDefs=eventDefsById[eventDef.id];
delete this.eventDefsByUid[eventDef.uid];
if(eventDefs){
util_1.removeExact(eventDefs, eventDef);
if(!eventDefs.length){
delete eventDefsById[eventDef.id];
}
this.removeEventInstancesForDef(eventDef);
}};
EventPeriod.prototype.getEventInstances=function (){
var eventInstanceGroupsById=this.eventInstanceGroupsById;
var eventInstances=[];
var id;
for (id in eventInstanceGroupsById){
eventInstances.push.apply(eventInstances,
eventInstanceGroupsById[id].eventInstances);
}
return eventInstances;
};
EventPeriod.prototype.getEventInstancesWithId=function (eventDefId){
var eventInstanceGroup=this.eventInstanceGroupsById[eventDefId];
if(eventInstanceGroup){
return eventInstanceGroup.eventInstances.slice();
}
return [];
};
EventPeriod.prototype.getEventInstancesWithoutId=function (eventDefId){
var eventInstanceGroupsById=this.eventInstanceGroupsById;
var matchingInstances=[];
var id;
for (id in eventInstanceGroupsById){
if(id!==eventDefId){
matchingInstances.push.apply(matchingInstances,
eventInstanceGroupsById[id].eventInstances);
}}
return matchingInstances;
};
EventPeriod.prototype.addEventInstance=function (eventInstance, eventDefId){
var eventInstanceGroupsById=this.eventInstanceGroupsById;
var eventInstanceGroup=eventInstanceGroupsById[eventDefId] ||
(eventInstanceGroupsById[eventDefId]=new EventInstanceGroup_1.default());
eventInstanceGroup.eventInstances.push(eventInstance);
this.tryRelease();
};
EventPeriod.prototype.removeEventInstancesForDef=function (eventDef){
var eventInstanceGroupsById=this.eventInstanceGroupsById;
var eventInstanceGroup=eventInstanceGroupsById[eventDef.id];
var removeCnt;
if(eventInstanceGroup){
removeCnt=util_1.removeMatching(eventInstanceGroup.eventInstances, function (currentEventInstance){
return currentEventInstance.def===eventDef;
});
if(!eventInstanceGroup.eventInstances.length){
delete eventInstanceGroupsById[eventDef.id];
}
if(removeCnt){
this.tryRelease();
}}
};
EventPeriod.prototype.tryRelease=function (){
if(!this.pendingCnt){
if(!this.freezeDepth){
this.release();
}else{
this.stuntedReleaseCnt++;
}}
};
EventPeriod.prototype.release=function (){
this.releaseCnt++;
this.trigger('release', this.eventInstanceGroupsById);
};
EventPeriod.prototype.whenReleased=function (){
var _this=this;
if(this.releaseCnt){
return Promise_1.default.resolve(this.eventInstanceGroupsById);
}else{
return Promise_1.default.construct(function (onResolve){
_this.one('release', onResolve);
});
}};
EventPeriod.prototype.freeze=function (){
if(!(this.freezeDepth++)){
this.stuntedReleaseCnt=0;
}};
EventPeriod.prototype.thaw=function (){
if(!(--this.freezeDepth)&&this.stuntedReleaseCnt&&!this.pendingCnt){
this.release();
}};
return EventPeriod;
}());
exports.default=EventPeriod;
EmitterMixin_1.default.mixInto(EventPeriod);
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var $=__webpack_require__(3);
var util_1=__webpack_require__(4);
var ListenerMixin_1=__webpack_require__(7);
var MouseFollower= (function (){
function MouseFollower(sourceEl, options){
this.isFollowing=false;
this.isHidden=false;
this.isAnimating=false;
this.options=options=options||{};
this.sourceEl=sourceEl;
this.parentEl=options.parentEl ? $(options.parentEl):sourceEl.parent();
}
MouseFollower.prototype.start=function (ev){
if(!this.isFollowing){
this.isFollowing=true;
this.y0=util_1.getEvY(ev);
this.x0=util_1.getEvX(ev);
this.topDelta=0;
this.leftDelta=0;
if(!this.isHidden){
this.updatePosition();
}
if(util_1.getEvIsTouch(ev)){
this.listenTo($(document), 'touchmove', this.handleMove);
}else{
this.listenTo($(document), 'mousemove', this.handleMove);
}}
};
MouseFollower.prototype.stop=function (shouldRevert, callback){
var _this=this;
var revertDuration=this.options.revertDuration;
var complete=function (){
_this.isAnimating=false;
_this.removeElement();
_this.top0=_this.left0=null;
if(callback){
callback();
}};
if(this.isFollowing&&!this.isAnimating){
this.isFollowing=false;
this.stopListeningTo($(document));
if(shouldRevert&&revertDuration&&!this.isHidden){
this.isAnimating=true;
this.el.animate({
top: this.top0,
left: this.left0
}, {
duration: revertDuration,
complete: complete
});
}else{
complete();
}}
};
MouseFollower.prototype.getEl=function (){
var el=this.el;
if(!el){
el=this.el=this.sourceEl.clone()
.addClass(this.options.additionalClass||'')
.css({
position: 'absolute',
visibility: '',
display: this.isHidden ? 'none':'',
margin: 0,
right: 'auto',
bottom: 'auto',
width: this.sourceEl.width(),
height: this.sourceEl.height(),
opacity: this.options.opacity||'',
zIndex: this.options.zIndex
});
el.addClass('fc-unselectable');
el.appendTo(this.parentEl);
}
return el;
};
MouseFollower.prototype.removeElement=function (){
if(this.el){
this.el.remove();
this.el=null;
}};
MouseFollower.prototype.updatePosition=function (){
var sourceOffset;
var origin;
this.getEl();
if(this.top0==null){
sourceOffset=this.sourceEl.offset();
origin=this.el.offsetParent().offset();
this.top0=sourceOffset.top - origin.top;
this.left0=sourceOffset.left - origin.left;
}
this.el.css({
top: this.top0 + this.topDelta,
left: this.left0 + this.leftDelta
});
};
MouseFollower.prototype.handleMove=function (ev){
this.topDelta=util_1.getEvY(ev) - this.y0;
this.leftDelta=util_1.getEvX(ev) - this.x0;
if(!this.isHidden){
this.updatePosition();
}};
MouseFollower.prototype.hide=function (){
if(!this.isHidden){
this.isHidden=true;
if(this.el){
this.el.hide();
}}
};
MouseFollower.prototype.show=function (){
if(this.isHidden){
this.isHidden=false;
this.updatePosition();
this.getEl().show();
}};
return MouseFollower;
}());
exports.default=MouseFollower;
ListenerMixin_1.default.mixInto(MouseFollower);
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1=__webpack_require__(2);
var HitDragListener_1=__webpack_require__(23);
var Interaction_1=__webpack_require__(15);
var DateClicking= (function (_super){
tslib_1.__extends(DateClicking, _super);
function DateClicking(component){
var _this=_super.call(this, component)||this;
_this.dragListener=_this.buildDragListener();
return _this;
}
DateClicking.prototype.end=function (){
this.dragListener.endInteraction();
};
DateClicking.prototype.bindToEl=function (el){
var component=this.component;
var dragListener=this.dragListener;
component.bindDateHandlerToEl(el, 'mousedown', function (ev){
if(!component.shouldIgnoreMouse()){
dragListener.startInteraction(ev);
}});
component.bindDateHandlerToEl(el, 'touchstart', function (ev){
if(!component.shouldIgnoreTouch()){
dragListener.startInteraction(ev);
}});
};
DateClicking.prototype.buildDragListener=function (){
var _this=this;
var component=this.component;
var dayClickHit;
var dragListener=new HitDragListener_1.default(component, {
scroll: this.opt('dragScroll'),
interactionStart: function (){
dayClickHit=dragListener.origHit;
},
hitOver: function (hit, isOrig, origHit){
if(!isOrig){
dayClickHit=null;
}},
hitOut: function (){
dayClickHit=null;
},
interactionEnd: function (ev, isCancelled){
var componentFootprint;
if(!isCancelled&&dayClickHit){
componentFootprint=component.getSafeHitFootprint(dayClickHit);
if(componentFootprint){
_this.view.triggerDayClick(componentFootprint, component.getHitEl(dayClickHit), ev);
}}
}});
dragListener.shouldCancelTouchScroll=false;
dragListener.scrollAlwaysKills=true;
return dragListener;
};
return DateClicking;
}(Interaction_1.default));
exports.default=DateClicking;
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1=__webpack_require__(2);
var util_1=__webpack_require__(4);
var EventRenderer_1=__webpack_require__(42);
var TimeGridEventRenderer= (function (_super){
tslib_1.__extends(TimeGridEventRenderer, _super);
function TimeGridEventRenderer(timeGrid, fillRenderer){
var _this=_super.call(this, timeGrid, fillRenderer)||this;
_this.timeGrid=timeGrid;
return _this;
}
TimeGridEventRenderer.prototype.renderFgSegs=function (segs){
this.renderFgSegsIntoContainers(segs, this.timeGrid.fgContainerEls);
};
TimeGridEventRenderer.prototype.renderFgSegsIntoContainers=function (segs, containerEls){
var segsByCol;
var col;
segsByCol=this.timeGrid.groupSegsByCol(segs);
for (col=0; col < this.timeGrid.colCnt; col++){
this.updateFgSegCoords(segsByCol[col]);
}
this.timeGrid.attachSegsByCol(segsByCol, containerEls);
};
TimeGridEventRenderer.prototype.unrenderFgSegs=function (){
if(this.fgSegs){
this.fgSegs.forEach(function (seg){
seg.el.remove();
});
}};
TimeGridEventRenderer.prototype.computeEventTimeFormat=function (){
return this.opt('noMeridiemTimeFormat');
};
TimeGridEventRenderer.prototype.computeDisplayEventEnd=function (){
return true;
};
TimeGridEventRenderer.prototype.fgSegHtml=function (seg, disableResizing){
var view=this.view;
var calendar=view.calendar;
var componentFootprint=seg.footprint.componentFootprint;
var isAllDay=componentFootprint.isAllDay;
var eventDef=seg.footprint.eventDef;
var isDraggable=view.isEventDefDraggable(eventDef);
var isResizableFromStart = !disableResizing&&seg.isStart&&view.isEventDefResizableFromStart(eventDef);
var isResizableFromEnd = !disableResizing&&seg.isEnd&&view.isEventDefResizableFromEnd(eventDef);
var classes=this.getSegClasses(seg, isDraggable, isResizableFromStart||isResizableFromEnd);
var skinCss=util_1.cssToStr(this.getSkinCss(eventDef));
var timeText;
var fullTimeText;
var startTimeText;
classes.unshift('fc-time-grid-event', 'fc-v-event');
if(view.isMultiDayRange(componentFootprint.unzonedRange)){
if(seg.isStart||seg.isEnd){
var zonedStart=calendar.msToMoment(seg.startMs);
var zonedEnd=calendar.msToMoment(seg.endMs);
timeText=this._getTimeText(zonedStart, zonedEnd, isAllDay);
fullTimeText=this._getTimeText(zonedStart, zonedEnd, isAllDay, 'LT');
startTimeText=this._getTimeText(zonedStart, zonedEnd, isAllDay, null, false);
}}else{
timeText=this.getTimeText(seg.footprint);
fullTimeText=this.getTimeText(seg.footprint, 'LT');
startTimeText=this.getTimeText(seg.footprint, null, false);
}
return '' +
'' +
(timeText ?
'
' +
'' + util_1.htmlEscape(timeText) + ' ' +
'
' :
'') +
(eventDef.title ?
'
' +
util_1.htmlEscape(eventDef.title) +
'
' :
'') +
'
' +
'
' +
(isResizableFromEnd ?
'
' :
'') +
' ';
};
TimeGridEventRenderer.prototype.updateFgSegCoords=function (segs){
this.timeGrid.computeSegVerticals(segs);
this.computeFgSegHorizontals(segs);
this.timeGrid.assignSegVerticals(segs);
this.assignFgSegHorizontals(segs);
};
TimeGridEventRenderer.prototype.computeFgSegHorizontals=function (segs){
var levels;
var level0;
var i;
this.sortEventSegs(segs);
levels=buildSlotSegLevels(segs);
computeForwardSlotSegs(levels);
if((level0=levels[0])){
for (i=0; i < level0.length; i++){
computeSlotSegPressures(level0[i]);
}
for (i=0; i < level0.length; i++){
this.computeFgSegForwardBack(level0[i], 0, 0);
}}
};
TimeGridEventRenderer.prototype.computeFgSegForwardBack=function (seg, seriesBackwardPressure, seriesBackwardCoord){
var forwardSegs=seg.forwardSegs;
var i;
if(seg.forwardCoord===undefined){
if(!forwardSegs.length){
seg.forwardCoord=1;
}else{
this.sortForwardSegs(forwardSegs);
this.computeFgSegForwardBack(forwardSegs[0], seriesBackwardPressure + 1, seriesBackwardCoord);
seg.forwardCoord=forwardSegs[0].backwardCoord;
}
seg.backwardCoord=seg.forwardCoord -
(seg.forwardCoord - seriesBackwardCoord) /
(seriesBackwardPressure + 1);
for (i=0; i < forwardSegs.length; i++){
this.computeFgSegForwardBack(forwardSegs[i], 0, seg.forwardCoord);
}}
};
TimeGridEventRenderer.prototype.sortForwardSegs=function (forwardSegs){
forwardSegs.sort(util_1.proxy(this, 'compareForwardSegs'));
};
TimeGridEventRenderer.prototype.compareForwardSegs=function (seg1, seg2){
return seg2.forwardPressure - seg1.forwardPressure ||
(seg1.backwardCoord||0) - (seg2.backwardCoord||0) ||
this.compareEventSegs(seg1, seg2);
};
TimeGridEventRenderer.prototype.assignFgSegHorizontals=function (segs){
var i;
var seg;
for (i=0; i < segs.length; i++){
seg=segs[i];
seg.el.css(this.generateFgSegHorizontalCss(seg));
if(seg.bottom - seg.top < 30){
seg.el.addClass('fc-short');
}}
};
TimeGridEventRenderer.prototype.generateFgSegHorizontalCss=function (seg){
var shouldOverlap=this.opt('slotEventOverlap');
var backwardCoord=seg.backwardCoord;
var forwardCoord=seg.forwardCoord;
var props=this.timeGrid.generateSegVerticalCss(seg);
var isRTL=this.timeGrid.isRTL;
var left;
var right;
if(shouldOverlap){
forwardCoord=Math.min(1, backwardCoord + (forwardCoord - backwardCoord) * 2);
}
if(isRTL){
left=1 - forwardCoord;
right=backwardCoord;
}else{
left=backwardCoord;
right=1 - forwardCoord;
}
props.zIndex=seg.level + 1;
props.left=left * 100 + '%';
props.right=right * 100 + '%';
if(shouldOverlap&&seg.forwardPressure){
props[isRTL ? 'marginLeft':'marginRight']=10 * 2;
}
return props;
};
return TimeGridEventRenderer;
}(EventRenderer_1.default));
exports.default=TimeGridEventRenderer;
function buildSlotSegLevels(segs){
var levels=[];
var i;
var seg;
var j;
for (i=0; i < segs.length; i++){
seg=segs[i];
for (j=0; j < levels.length; j++){
if(!computeSlotSegCollisions(seg, levels[j]).length){
break;
}}
seg.level=j;
(levels[j]||(levels[j]=[])).push(seg);
}
return levels;
}
function computeForwardSlotSegs(levels){
var i;
var level;
var j;
var seg;
var k;
for (i=0; i < levels.length; i++){
level=levels[i];
for (j=0; j < level.length; j++){
seg=level[j];
seg.forwardSegs=[];
for (k=i + 1; k < levels.length; k++){
computeSlotSegCollisions(seg, levels[k], seg.forwardSegs);
}}
}}
function computeSlotSegPressures(seg){
var forwardSegs=seg.forwardSegs;
var forwardPressure=0;
var i;
var forwardSeg;
if(seg.forwardPressure===undefined){
for (i=0; i < forwardSegs.length; i++){
forwardSeg=forwardSegs[i];
computeSlotSegPressures(forwardSeg);
forwardPressure=Math.max(forwardPressure, 1 + forwardSeg.forwardPressure);
}
seg.forwardPressure=forwardPressure;
}}
function computeSlotSegCollisions(seg, otherSegs, results){
if(results===void 0){ results=[]; }
for (var i=0; i < otherSegs.length; i++){
if(isSlotSegCollision(seg, otherSegs[i])){
results.push(otherSegs[i]);
}}
return results;
}
function isSlotSegCollision(seg1, seg2){
return seg1.bottom > seg2.top&&seg1.top < seg2.bottom;
}
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1=__webpack_require__(2);
var $=__webpack_require__(3);
var HelperRenderer_1=__webpack_require__(58);
var TimeGridHelperRenderer= (function (_super){
tslib_1.__extends(TimeGridHelperRenderer, _super);
function TimeGridHelperRenderer(){
return _super!==null&&_super.apply(this, arguments)||this;
}
TimeGridHelperRenderer.prototype.renderSegs=function (segs, sourceSeg){
var helperNodes=[];
var i;
var seg;
var sourceEl;
this.eventRenderer.renderFgSegsIntoContainers(segs, this.component.helperContainerEls);
for (i=0; i < segs.length; i++){
seg=segs[i];
if(sourceSeg&&sourceSeg.col===seg.col){
sourceEl=sourceSeg.el;
seg.el.css({
left: sourceEl.css('left'),
right: sourceEl.css('right'),
'margin-left': sourceEl.css('margin-left'),
'margin-right': sourceEl.css('margin-right')
});
}
helperNodes.push(seg.el[0]);
}
return $(helperNodes);
};
return TimeGridHelperRenderer;
}(HelperRenderer_1.default));
exports.default=TimeGridHelperRenderer;
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1=__webpack_require__(2);
var FillRenderer_1=__webpack_require__(57);
var TimeGridFillRenderer= (function (_super){
tslib_1.__extends(TimeGridFillRenderer, _super);
function TimeGridFillRenderer(){
return _super!==null&&_super.apply(this, arguments)||this;
}
TimeGridFillRenderer.prototype.attachSegEls=function (type, segs){
var timeGrid=this.component;
var containerEls;
if(type==='bgEvent'){
containerEls=timeGrid.bgContainerEls;
}
else if(type==='businessHours'){
containerEls=timeGrid.businessContainerEls;
}
else if(type==='highlight'){
containerEls=timeGrid.highlightContainerEls;
}
timeGrid.updateSegVerticals(segs);
timeGrid.attachSegsByCol(timeGrid.groupSegsByCol(segs), containerEls);
return segs.map(function (seg){
return seg.el[0];
});
};
return TimeGridFillRenderer;
}(FillRenderer_1.default));
exports.default=TimeGridFillRenderer;
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var $=__webpack_require__(3);
var util_1=__webpack_require__(4);
var ListenerMixin_1=__webpack_require__(7);
var Popover= (function (){
function Popover(options){
this.isHidden=true;
this.margin=10;
this.options=options||{};}
Popover.prototype.show=function (){
if(this.isHidden){
if(!this.el){
this.render();
}
this.el.show();
this.position();
this.isHidden=false;
this.trigger('show');
}};
Popover.prototype.hide=function (){
if(!this.isHidden){
this.el.hide();
this.isHidden=true;
this.trigger('hide');
}};
Popover.prototype.render=function (){
var _this=this;
var options=this.options;
this.el=$('
')
.addClass(options.className||'')
.css({
top: 0,
left: 0
})
.append(options.content)
.appendTo(options.parentEl);
this.el.on('click', '.fc-close', function (){
_this.hide();
});
if(options.autoHide){
this.listenTo($(document), 'mousedown', this.documentMousedown);
}};
Popover.prototype.documentMousedown=function (ev){
if(this.el&&!$(ev.target).closest(this.el).length){
this.hide();
}};
Popover.prototype.removeElement=function (){
this.hide();
if(this.el){
this.el.remove();
this.el=null;
}
this.stopListeningTo($(document), 'mousedown');
};
Popover.prototype.position=function (){
var options=this.options;
var origin=this.el.offsetParent().offset();
var width=this.el.outerWidth();
var height=this.el.outerHeight();
var windowEl=$(window);
var viewportEl=util_1.getScrollParent(this.el);
var viewportTop;
var viewportLeft;
var viewportOffset;
var top;
var left;
top=options.top||0;
if(options.left!==undefined){
left=options.left;
}
else if(options.right!==undefined){
left=options.right - width;
}else{
left=0;
}
if(viewportEl.is(window)||viewportEl.is(document)){
viewportEl=windowEl;
viewportTop=0;
viewportLeft=0;
}else{
viewportOffset=viewportEl.offset();
viewportTop=viewportOffset.top;
viewportLeft=viewportOffset.left;
}
viewportTop +=windowEl.scrollTop();
viewportLeft +=windowEl.scrollLeft();
if(options.viewportConstrain!==false){
top=Math.min(top, viewportTop + viewportEl.outerHeight() - height - this.margin);
top=Math.max(top, viewportTop + this.margin);
left=Math.min(left, viewportLeft + viewportEl.outerWidth() - width - this.margin);
left=Math.max(left, viewportLeft + this.margin);
}
this.el.css({
top: top - origin.top,
left: left - origin.left
});
};
Popover.prototype.trigger=function (name){
if(this.options[name]){
this.options[name].apply(this, Array.prototype.slice.call(arguments, 1));
}};
return Popover;
}());
exports.default=Popover;
ListenerMixin_1.default.mixInto(Popover);
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1=__webpack_require__(2);
var $=__webpack_require__(3);
var util_1=__webpack_require__(4);
var EventRenderer_1=__webpack_require__(42);
var DayGridEventRenderer= (function (_super){
tslib_1.__extends(DayGridEventRenderer, _super);
function DayGridEventRenderer(dayGrid, fillRenderer){
var _this=_super.call(this, dayGrid, fillRenderer)||this;
_this.dayGrid=dayGrid;
return _this;
}
DayGridEventRenderer.prototype.renderBgRanges=function (eventRanges){
eventRanges=$.grep(eventRanges, function (eventRange){
return eventRange.eventDef.isAllDay();
});
_super.prototype.renderBgRanges.call(this, eventRanges);
};
DayGridEventRenderer.prototype.renderFgSegs=function (segs){
var rowStructs=this.rowStructs=this.renderSegRows(segs);
this.dayGrid.rowEls.each(function (i, rowNode){
$(rowNode).find('.fc-content-skeleton > table').append(rowStructs[i].tbodyEl);
});
};
DayGridEventRenderer.prototype.unrenderFgSegs=function (){
var rowStructs=this.rowStructs||[];
var rowStruct;
while ((rowStruct=rowStructs.pop())){
rowStruct.tbodyEl.remove();
}
this.rowStructs=null;
};
DayGridEventRenderer.prototype.renderSegRows=function (segs){
var rowStructs=[];
var segRows;
var row;
segRows=this.groupSegRows(segs);
for (row=0; row < segRows.length; row++){
rowStructs.push(this.renderSegRow(row, segRows[row]));
}
return rowStructs;
};
DayGridEventRenderer.prototype.renderSegRow=function (row, rowSegs){
var colCnt=this.dayGrid.colCnt;
var segLevels=this.buildSegLevels(rowSegs);
var levelCnt=Math.max(1, segLevels.length);
var tbody=$(' ');
var segMatrix=[];
var cellMatrix=[];
var loneCellMatrix=[];
var i;
var levelSegs;
var col;
var tr;
var j;
var seg;
var td;
function emptyCellsUntil(endCol){
while (col < endCol){
td=(loneCellMatrix[i - 1]||[])[col];
if(td){
td.attr('rowspan', parseInt(td.attr('rowspan')||1, 10) + 1);
}else{
td=$(' ');
tr.append(td);
}
cellMatrix[i][col]=td;
loneCellMatrix[i][col]=td;
col++;
}}
for (i=0; i < levelCnt; i++){
levelSegs=segLevels[i];
col=0;
tr=$(' ');
segMatrix.push([]);
cellMatrix.push([]);
loneCellMatrix.push([]);
if(levelSegs){
for (j=0; j < levelSegs.length; j++){
seg=levelSegs[j];
emptyCellsUntil(seg.leftCol);
td=$(' ').append(seg.el);
if(seg.leftCol!==seg.rightCol){
td.attr('colspan', seg.rightCol - seg.leftCol + 1);
}else{
loneCellMatrix[i][col]=td;
}
while (col <=seg.rightCol){
cellMatrix[i][col]=td;
segMatrix[i][col]=seg;
col++;
}
tr.append(td);
}}
emptyCellsUntil(colCnt);
this.dayGrid.bookendCells(tr);
tbody.append(tr);
}
return {
row: row,
tbodyEl: tbody,
cellMatrix: cellMatrix,
segMatrix: segMatrix,
segLevels: segLevels,
segs: rowSegs
};};
DayGridEventRenderer.prototype.buildSegLevels=function (segs){
var levels=[];
var i;
var seg;
var j;
this.sortEventSegs(segs);
for (i=0; i < segs.length; i++){
seg=segs[i];
for (j=0; j < levels.length; j++){
if(!isDaySegCollision(seg, levels[j])){
break;
}}
seg.level=j;
(levels[j]||(levels[j]=[])).push(seg);
}
for (j=0; j < levels.length; j++){
levels[j].sort(compareDaySegCols);
}
return levels;
};
DayGridEventRenderer.prototype.groupSegRows=function (segs){
var segRows=[];
var i;
for (i=0; i < this.dayGrid.rowCnt; i++){
segRows.push([]);
}
for (i=0; i < segs.length; i++){
segRows[segs[i].row].push(segs[i]);
}
return segRows;
};
DayGridEventRenderer.prototype.computeEventTimeFormat=function (){
return this.opt('extraSmallTimeFormat');
};
DayGridEventRenderer.prototype.computeDisplayEventEnd=function (){
return this.dayGrid.colCnt===1;
};
DayGridEventRenderer.prototype.fgSegHtml=function (seg, disableResizing){
var view=this.view;
var eventDef=seg.footprint.eventDef;
var isAllDay=seg.footprint.componentFootprint.isAllDay;
var isDraggable=view.isEventDefDraggable(eventDef);
var isResizableFromStart = !disableResizing&&isAllDay &&
seg.isStart&&view.isEventDefResizableFromStart(eventDef);
var isResizableFromEnd = !disableResizing&&isAllDay &&
seg.isEnd&&view.isEventDefResizableFromEnd(eventDef);
var classes=this.getSegClasses(seg, isDraggable, isResizableFromStart||isResizableFromEnd);
var skinCss=util_1.cssToStr(this.getSkinCss(eventDef));
var timeHtml='';
var timeText;
var titleHtml;
classes.unshift('fc-day-grid-event', 'fc-h-event');
if(seg.isStart){
timeText=this.getTimeText(seg.footprint);
if(timeText){
timeHtml='' + util_1.htmlEscape(timeText) + ' ';
}}
titleHtml =
'' +
(util_1.htmlEscape(eventDef.title||'')||' ') +
' ';
return '' +
'' +
(this.dayGrid.isRTL ?
titleHtml + ' ' + timeHtml :
timeHtml + ' ' + titleHtml
) +
'
' +
(isResizableFromStart ?
'
' :
'') +
(isResizableFromEnd ?
'
' :
'') +
' ';
};
return DayGridEventRenderer;
}(EventRenderer_1.default));
exports.default=DayGridEventRenderer;
function isDaySegCollision(seg, otherSegs){
var i;
var otherSeg;
for (i=0; i < otherSegs.length; i++){
otherSeg=otherSegs[i];
if(otherSeg.leftCol <=seg.rightCol &&
otherSeg.rightCol >=seg.leftCol){
return true;
}}
return false;
}
function compareDaySegCols(a, b){
return a.leftCol - b.leftCol;
}
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1=__webpack_require__(2);
var $=__webpack_require__(3);
var HelperRenderer_1=__webpack_require__(58);
var DayGridHelperRenderer= (function (_super){
tslib_1.__extends(DayGridHelperRenderer, _super);
function DayGridHelperRenderer(){
return _super!==null&&_super.apply(this, arguments)||this;
}
DayGridHelperRenderer.prototype.renderSegs=function (segs, sourceSeg){
var helperNodes=[];
var rowStructs;
rowStructs=this.eventRenderer.renderSegRows(segs);
this.component.rowEls.each(function (row, rowNode){
var rowEl=$(rowNode);
var skeletonEl=$('');
var skeletonTopEl;
var skeletonTop;
if(sourceSeg&&sourceSeg.row===row){
skeletonTop=sourceSeg.el.position().top;
}else{
skeletonTopEl=rowEl.find('.fc-content-skeleton tbody');
if(!skeletonTopEl.length){
skeletonTopEl=rowEl.find('.fc-content-skeleton table');
}
skeletonTop=skeletonTopEl.position().top;
}
skeletonEl.css('top', skeletonTop)
.find('table')
.append(rowStructs[row].tbodyEl);
rowEl.append(skeletonEl);
helperNodes.push(skeletonEl[0]);
});
return $(helperNodes);
};
return DayGridHelperRenderer;
}(HelperRenderer_1.default));
exports.default=DayGridHelperRenderer;
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1=__webpack_require__(2);
var $=__webpack_require__(3);
var FillRenderer_1=__webpack_require__(57);
var DayGridFillRenderer= (function (_super){
tslib_1.__extends(DayGridFillRenderer, _super);
function DayGridFillRenderer(){
var _this=_super!==null&&_super.apply(this, arguments)||this;
_this.fillSegTag='td';
return _this;
}
DayGridFillRenderer.prototype.attachSegEls=function (type, segs){
var nodes=[];
var i;
var seg;
var skeletonEl;
for (i=0; i < segs.length; i++){
seg=segs[i];
skeletonEl=this.renderFillRow(type, seg);
this.component.rowEls.eq(seg.row).append(skeletonEl);
nodes.push(skeletonEl[0]);
}
return nodes;
};
DayGridFillRenderer.prototype.renderFillRow=function (type, seg){
var colCnt=this.component.colCnt;
var startCol=seg.leftCol;
var endCol=seg.rightCol + 1;
var className;
var skeletonEl;
var trEl;
if(type==='businessHours'){
className='bgevent';
}else{
className=type.toLowerCase();
}
skeletonEl=$('');
trEl=skeletonEl.find('tr');
if(startCol > 0){
trEl.append(' ');
}
trEl.append(seg.el.attr('colspan', endCol - startCol));
if(endCol < colCnt){
trEl.append(' ');
}
this.component.bookendCells(trEl);
return skeletonEl;
};
return DayGridFillRenderer;
}(FillRenderer_1.default));
exports.default=DayGridFillRenderer;
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1=__webpack_require__(2);
var BasicViewDateProfileGenerator_1=__webpack_require__(228);
var UnzonedRange_1=__webpack_require__(5);
var MonthViewDateProfileGenerator= (function (_super){
tslib_1.__extends(MonthViewDateProfileGenerator, _super);
function MonthViewDateProfileGenerator(){
return _super!==null&&_super.apply(this, arguments)||this;
}
MonthViewDateProfileGenerator.prototype.buildRenderRange=function (currentUnzonedRange, currentRangeUnit, isRangeAllDay){
var renderUnzonedRange=_super.prototype.buildRenderRange.call(this, currentUnzonedRange, currentRangeUnit, isRangeAllDay);
var start=this.msToUtcMoment(renderUnzonedRange.startMs, isRangeAllDay);
var end=this.msToUtcMoment(renderUnzonedRange.endMs, isRangeAllDay);
var rowCnt;
if(this.opt('fixedWeekCount')){
rowCnt=Math.ceil(end.diff(start, 'weeks', true)
);
end.add(6 - rowCnt, 'weeks');
}
return new UnzonedRange_1.default(start, end);
};
return MonthViewDateProfileGenerator;
}(BasicViewDateProfileGenerator_1.default));
exports.default=MonthViewDateProfileGenerator;
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1=__webpack_require__(2);
var util_1=__webpack_require__(4);
var EventRenderer_1=__webpack_require__(42);
var ListEventRenderer= (function (_super){
tslib_1.__extends(ListEventRenderer, _super);
function ListEventRenderer(){
return _super!==null&&_super.apply(this, arguments)||this;
}
ListEventRenderer.prototype.renderFgSegs=function (segs){
if(!segs.length){
this.component.renderEmptyMessage();
}else{
this.component.renderSegList(segs);
}};
ListEventRenderer.prototype.fgSegHtml=function (seg){
var view=this.view;
var calendar=view.calendar;
var theme=calendar.theme;
var eventFootprint=seg.footprint;
var eventDef=eventFootprint.eventDef;
var componentFootprint=eventFootprint.componentFootprint;
var url=eventDef.url;
var classes=['fc-list-item'].concat(this.getClasses(eventDef));
var bgColor=this.getBgColor(eventDef);
var timeHtml;
if(componentFootprint.isAllDay){
timeHtml=view.getAllDayHtml();
}
else if(view.isMultiDayRange(componentFootprint.unzonedRange)){
if(seg.isStart||seg.isEnd){
timeHtml=util_1.htmlEscape(this._getTimeText(calendar.msToMoment(seg.startMs), calendar.msToMoment(seg.endMs), componentFootprint.isAllDay));
}else{
timeHtml=view.getAllDayHtml();
}}else{
timeHtml=util_1.htmlEscape(this.getTimeText(eventFootprint));
}
if(url){
classes.push('fc-has-url');
}
return '' +
(this.displayEventTime ?
'' +
(timeHtml||'') +
' ' :
'') +
'' +
' ' +
' ' +
'' +
'' +
util_1.htmlEscape(eventDef.title||'') +
' ' +
' ' +
' ';
};
ListEventRenderer.prototype.computeEventTimeFormat=function (){
return this.opt('mediumTimeFormat');
};
return ListEventRenderer;
}(EventRenderer_1.default));
exports.default=ListEventRenderer;
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1=__webpack_require__(2);
var $=__webpack_require__(3);
var EventPointing_1=__webpack_require__(59);
var ListEventPointing= (function (_super){
tslib_1.__extends(ListEventPointing, _super);
function ListEventPointing(){
return _super!==null&&_super.apply(this, arguments)||this;
}
ListEventPointing.prototype.handleClick=function (seg, ev){
var url;
_super.prototype.handleClick.call(this, seg, ev);
if(!$(ev.target).closest('a[href]').length){
url=seg.footprint.eventDef.url;
if(url&&!ev.isDefaultPrevented()){
window.location.href=url;
}}
};
return ListEventPointing;
}(EventPointing_1.default));
exports.default=ListEventPointing;
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var EventSourceParser_1=__webpack_require__(38);
var ArrayEventSource_1=__webpack_require__(52);
var FuncEventSource_1=__webpack_require__(215);
var JsonFeedEventSource_1=__webpack_require__(216);
EventSourceParser_1.default.registerClass(ArrayEventSource_1.default);
EventSourceParser_1.default.registerClass(FuncEventSource_1.default);
EventSourceParser_1.default.registerClass(JsonFeedEventSource_1.default);
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var ThemeRegistry_1=__webpack_require__(51);
var StandardTheme_1=__webpack_require__(213);
var JqueryUiTheme_1=__webpack_require__(214);
var Bootstrap3Theme_1=__webpack_require__(258);
var Bootstrap4Theme_1=__webpack_require__(259);
ThemeRegistry_1.defineThemeSystem('standard', StandardTheme_1.default);
ThemeRegistry_1.defineThemeSystem('jquery-ui', JqueryUiTheme_1.default);
ThemeRegistry_1.defineThemeSystem('bootstrap3', Bootstrap3Theme_1.default);
ThemeRegistry_1.defineThemeSystem('bootstrap4', Bootstrap4Theme_1.default);
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1=__webpack_require__(2);
var Theme_1=__webpack_require__(19);
var Bootstrap3Theme= (function (_super){
tslib_1.__extends(Bootstrap3Theme, _super);
function Bootstrap3Theme(){
return _super!==null&&_super.apply(this, arguments)||this;
}
return Bootstrap3Theme;
}(Theme_1.default));
exports.default=Bootstrap3Theme;
Bootstrap3Theme.prototype.classes={
widget: 'fc-bootstrap3',
tableGrid: 'table-bordered',
tableList: 'table',
tableListHeading: 'active',
buttonGroup: 'btn-group',
button: 'btn btn-default',
stateActive: 'active',
stateDisabled: 'disabled',
today: 'alert alert-info',
popover: 'panel panel-default',
popoverHeader: 'panel-heading',
popoverContent: 'panel-body',
headerRow: 'panel-default',
dayRow: 'panel-default',
listView: 'panel panel-default'
};
Bootstrap3Theme.prototype.baseIconClass='glyphicon';
Bootstrap3Theme.prototype.iconClasses={
close: 'glyphicon-remove',
prev: 'glyphicon-chevron-left',
next: 'glyphicon-chevron-right',
prevYear: 'glyphicon-backward',
nextYear: 'glyphicon-forward'
};
Bootstrap3Theme.prototype.iconOverrideOption='bootstrapGlyphicons';
Bootstrap3Theme.prototype.iconOverrideCustomButtonOption='bootstrapGlyphicon';
Bootstrap3Theme.prototype.iconOverridePrefix='glyphicon-';
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1=__webpack_require__(2);
var Theme_1=__webpack_require__(19);
var Bootstrap4Theme= (function (_super){
tslib_1.__extends(Bootstrap4Theme, _super);
function Bootstrap4Theme(){
return _super!==null&&_super.apply(this, arguments)||this;
}
return Bootstrap4Theme;
}(Theme_1.default));
exports.default=Bootstrap4Theme;
Bootstrap4Theme.prototype.classes={
widget: 'fc-bootstrap4',
tableGrid: 'table-bordered',
tableList: 'table',
tableListHeading: 'table-active',
buttonGroup: 'btn-group',
button: 'btn btn-primary',
stateActive: 'active',
stateDisabled: 'disabled',
today: 'alert alert-info',
popover: 'card card-primary',
popoverHeader: 'card-header',
popoverContent: 'card-body',
headerRow: 'table-bordered',
dayRow: 'table-bordered',
listView: 'card card-primary'
};
Bootstrap4Theme.prototype.baseIconClass='fa';
Bootstrap4Theme.prototype.iconClasses={
close: 'fa-times',
prev: 'fa-chevron-left',
next: 'fa-chevron-right',
prevYear: 'fa-angle-double-left',
nextYear: 'fa-angle-double-right'
};
Bootstrap4Theme.prototype.iconOverrideOption='bootstrapFontAwesome';
Bootstrap4Theme.prototype.iconOverrideCustomButtonOption='bootstrapFontAwesome';
Bootstrap4Theme.prototype.iconOverridePrefix='fa-';
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var ViewRegistry_1=__webpack_require__(22);
var BasicView_1=__webpack_require__(62);
var MonthView_1=__webpack_require__(229);
ViewRegistry_1.defineView('basic', {
'class': BasicView_1.default
});
ViewRegistry_1.defineView('basicDay', {
type: 'basic',
duration: { days: 1 }});
ViewRegistry_1.defineView('basicWeek', {
type: 'basic',
duration: { weeks: 1 }});
ViewRegistry_1.defineView('month', {
'class': MonthView_1.default,
duration: { months: 1 },
defaults: {
fixedWeekCount: true
}});
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var ViewRegistry_1=__webpack_require__(22);
var AgendaView_1=__webpack_require__(226);
ViewRegistry_1.defineView('agenda', {
'class': AgendaView_1.default,
defaults: {
allDaySlot: true,
slotDuration: '00:30:00',
slotEventOverlap: true
}});
ViewRegistry_1.defineView('agendaDay', {
type: 'agenda',
duration: { days: 1 }});
ViewRegistry_1.defineView('agendaWeek', {
type: 'agenda',
duration: { weeks: 1 }});
}),
(function(module, exports, __webpack_require__){
Object.defineProperty(exports, "__esModule", { value: true });
var ViewRegistry_1=__webpack_require__(22);
var ListView_1=__webpack_require__(230);
ViewRegistry_1.defineView('list', {
'class': ListView_1.default,
buttonTextKey: 'list',
defaults: {
buttonText: 'list',
listDayFormat: 'LL',
noEventsMessage: 'No events to display'
}});
ViewRegistry_1.defineView('listDay', {
type: 'list',
duration: { days: 1 },
defaults: {
listDayFormat: 'dddd'
}});
ViewRegistry_1.defineView('listWeek', {
type: 'list',
duration: { weeks: 1 },
defaults: {
listDayFormat: 'dddd',
listDayAltFormat: 'LL'
}});
ViewRegistry_1.defineView('listMonth', {
type: 'list',
duration: { month: 1 },
defaults: {
listDayAltFormat: 'dddd'
}});
ViewRegistry_1.defineView('listYear', {
type: 'list',
duration: { year: 1 },
defaults: {
listDayAltFormat: 'dddd'
}});
}),
(function(module, exports){
Object.defineProperty(exports, "__esModule", { value: true });
})
]);
});